构造方法
*构造方法又被称为构造函数/构造器/Constructor
*构造方法的语法结构:
[修饰符列表] 构造方法名 (形式参数列表){
构造方法体;
}
注意:
-
**构造方法的“返回值类型”不需要指定,并且也不能写void
-
**对于构造方法来说,构造方法名必须和类名保持一致
*构造方法的作用:
-
-通过构造方法的调用,可以创建对象
-
-初始化实例变量的内存空间【给实例变量赋值】
**成员变量之实例变量,属于对象级别的变量,这种变量必须先有对象才能有实例变量。
**实例变量没有手动赋值的时候,系统默认赋值,那么这个系统默认赋值是什么时候完成的呢?
是在类加载的时候吗?不是,因为类加载的时候只加载了代码片段,还没来得及创建对象。所以此时实例变量并没有初始化。实际上,实例变量的内存空间是在构造方法执行过程当中完成开辟的。系统在默认赋值的时候,也是在构造方法执行过程当中完成的赋值。
***构造方法怎么调用:**
-普通方法的调用:
*方法修饰符中有static的时候:类名.方法名(实参列表);
*方法修饰符中没有static的时候:引用.方法名(实参列表);
-构造方法调用:
*new 构造方法名 (实参列表);
*构造方法调用执行之后,有返回值吗?
- -每一个构造方法实际上执行结束之后都有返回值,但是“return 值;”语句不需要写。构造方法结束是Java程序自动返回值。
- -返回值类型是构造方法所在类的类型。由于构造方法的返回值类型就是类本身,所以不用写。
*当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参的构造方法,这个构造方法被称为缺省构造器。
注: 当一个类显示的将构造方法定义出来了,那么系统则不再默认为这个类提供缺省构造器。
建议开发中手动的为当前类提供无参构造方法(因为无参构造方法很常用)。
*构造方法支持重载机制。在一个类当中可以编写多个构造方法。