构造方法
构造方法
语法格式:
public 类名(形参) { this.实例变量名=形参; }
作用:
- 构造函数可以在创建对象之初,将对象属性写进参数中。
构造函数的生存周期:
- 创建对象
- 创建对象的同时,初始化实例变量的内存空间。
- 注意:成员变量创建的实例变量,属于对象级别的变量,这种变量必须先有对象才能有实例变量。
实例变量没有手动赋值的时候,系统默认赋值,那么这个系统默认赋值是在什么时候完成的呢?
- 是在类加载的时候吗?
- 不是,因为类加载的时候只加载了代码片段,还没来得及创建对象。所以此时实例变量并没有初始化。
- 实际上,实例变量的内存空间是在构造方法执行过程当中完成开辟的。完成初始化的。
- 系统在默认赋值的时候,也是在构造方法执行过程当中完成的赋值。
- 注意:当创建一个对象,这个对象这个类里面没创建构造函数的话,会有一个构造补缺器自动帮你创建一个无参的构造函数
- 如果开发者在类中创建了有参的构造函数,但是实例化一个对象时,没有放入参数会报错**
解决办法:
创建构造函数时一般都会创建一个有参构造函数和无参构造函数,从而形成方法重载
构造函数支持方法重载机制*注意:如果构造函数的参数没有将成员变量全部写完,JVM自动把后面的成员变量设为默认值