A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© bulala 中级黑马   /  2015-12-12 22:50  /  523 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

特点:
1.函数名与类名相同;
2.不用定义返回值类型;
3.不可以写return语句;

作用:给对象进行初始化。

注意:
1.默认构造函数的特点:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数;
2.多个构造函数是以重载的形式存在的。

构造函数和一般函数在写法上有不同,在运行上也有不同:
1.构造函数是在对象一建立就开始运行,给对象初始化;
2.一般方法是对象调用才执行,是给对象添加对象具备的功能;
3.一个对象建立,构造函数只运行一次;
4.一般方法可以被该对象调用多次。

什么时候定义构造函数:
当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。

构造代码块:{........}
作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数执行。
和构造函数的区别;
1.构造代码块是给所有对象进行统一初始化;
2.构造函数是给对应的函数初始化。

构造代码块中定义的是不同对象共性的初始化值。

代码:
class Person1
{
        private int age;

        private String name;

        public void setName(String n){
                name = n;
        }

        public String getName(){
                return name;
        }
       
        //构造代码块。优于构造函数执行。
        {
                cry();
        }

        Person1(){
                System.out.println("age="+age);
        }

        Person1(int age){
                System.out.println("age="+age);
        }

        Person1(int age,String name){
                System.out.println("age="+age+",name="+name);
        }

        public void cry(){
                System.out.println("cry...");
        }
}

class PersonDemo1{
        public static void main(String[] args)
        {
                Person1 p1 = new Person1();

                Person1 p2 = new Person1(20);

                Person1 p3 = new Person1(40,"张三");

                p3.setName("李四");

                System.out.println(p3.getName());
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马