1. 构造方法的作用:给对应的对象进行初始化(产生对象)
2. 构造方法的定义格式:
修饰符 类名(形式参数){
函数体……
}
3. 构造函数要注意的细节:
1.构造方法是没有返回值类型的(连void也没有)
2.构造方法的函数名必须与类名一致
3.构造方法并不是由我们手动调用的,而是在创建对象时,JVM就会主动调用对应的构造方法
4.如果一个类没有显式的书写了一个构造方法时,那么Java编译器会为该类添加一个公共无参构造方法
5.如果一个类已经显式的书写了一个构造方法时,那么Java编译器不会再为该类添加一个公共无参构造方法
4. 构造方法的执行步骤:当我们在外部new构造方法的时候,构造方法会执行4个步骤
1.在堆当中划分空间;JVM执行
2.在该空间划分属性;JVM执行
3.对属性进行初始化(基本数据类型初始化为0,引用数据类型初始化为Null);JVM执行
4.执行我们在构造方法里面书写的代码(通常都是为属性赋上外部传入的初值);程序猿执行
5. 根据JavaBean的规范:必须要有公共无参构造方法
6. 疑问1
疑问:创建对象时,JVM就会调用到对应的构造方法,那么我们没有写构造方法,那么创建对象时,JVM是否也会调用构造方法呢?如果有?构造方法从何而来?
解答:会调用构造方法,Java编译器在编译的时候给加上去的。
7. 疑问2
疑问:Java编译器添加无参构造方法的权限修饰符是什么?
解答:与类的权限修饰符是一致的
8. 构造方法是可以在一个类中以方法重载的形式存在多个的
9. 构造方法与普通方法的区别:
1.返回值类型的区别:构造方法是没有返回值类型;而普通方法是有返回值类型,即使方法没有返回类型,也要写上void
2.方法名的区别:构造方法的方法名必须要与类名一致;而普通方法的方法名只要符合命名规则即可
3.调用方式的区别:构造方法是在创建对象的时候,由JVM调用的;而普通方法是由我们使用对象调用的,一个对象可以调用多次普通方法
4.作用上的区别:构造方法的作用是用于初始化一个对象;而普通方法是用于描述一类事物的共同行为的