构造方法的详细解释及使用
1. 构造方法又被称为构造函数/构造器/Contructor
2. 构造方法语法结构:
a) 修饰符列表 构造方法名 (形式参数列表){ 构造方法体}
3. 对于构造方法来说,返回值类型不需要指定,并且也不能写void,只要写上void,这个方法就成为普通方法了
4. 对于构造方法来说,构造方法的方法名必须和类名保持一致
5. 构造方法的作用:
a) 构造方法存在的意义是,通过构造方法的调用,可以创建对象
b) 创建对象的同时,初始化实例变量的内存空间[给实例变量赋值]
i. 成员变量之实例变量,属于对象级别的变量,这种变量必须现有对象才能有实例变量,实例变量没有手动赋值的时候,系统默认赋值,那么这个系统默认赋值是在什么时候完成赋值的呢?
ii. 是在类加载的时候吗?
不是,因为类加载的时候只加载了代码片段,还没来的及创建对象,所以此时实例变量并没有初始化,实际上,实例变量的内存空间是在构造方法执行过程中完成开辟的,完成初始化的,系统在默认赋值的时候,也是在构造方法执行过程中完成赋值的.
6. 构造的方法应该怎么调用?
a) 普通方法是这样调用的:修饰符中有Static的时候,类名.方法名(实参列表) 或者 修饰符中没有Static的时候,引用.方法名(实参列表)
b) New 构造方法名(实参列表)
7. 构造方法执行结束之后,有返回值吗?
a) 每一个构造方法执行结束后都有返回值,但是这个retuen 值,这样的语句不需要写。构造方法结束之后,Java程序自动返回值,并且返回值类型是构造方法所在类的类型,由于构造方法返回值类型就是本身,所以返回值类型不需要编写
8. 当一个类中没有定义任何构造方法的时候,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器
9. 当一个类显示的构造方法定义出来了,那么系统则不再默认为这个类提供缺省构造器,建议开发中手动的为当前类提供无参数的构造方法,因为无参数的构造方法太常用了
10. 构造方法支持重载机制,在一个类当中编写多个构造方法,这多个构造方法显然已经构成方法重载机制