构造方法的基本概念
class类名{
类名(形参列表){
构造方法体;
}
}
案例1:构造方法的使用
案例2:默认构造方法
案例3:新增类实例化,再次调用构造方法
总结:
1、构造方法与类名完全相同并且没有返回值类型,连void都不许有
2、默认构造方法,案例2模拟编译器生成的默认构造方法
当一个类中没有定义任何构造方法构造方法时,编译器会自动添加一个无参空构造方法,叫做默认/缺省构造方法,如Person(){}
3、若类中出现了构造方法,则编译器不再提供任何形式的构造方法,若类中提供构造方法后,则调用类中提供的构造方法的版本
4、实例化类的时候,构造方法会自动调用,使用show()成员方法可以看出,(构造方法在使用成员方法之前已经调用)
5、每次实例化类的时候,会新建立一个构造方法并自动调用(案例3演示)
构造方法的使用:
以上是我们创建的三个构造方法,默认构造方法,自定义参数构造方法;当我们声明p1的时候,盏在内存生成0X10的引用,指向堆里面的0X10(堆中存放着张飞和30);
当我们声明p2的时候,盏在内存生成0x20的引用,指向堆里面的0X20(堆中存放着关羽和35);以上操作是系统自动完成的。
构造方法的作用:
使用new关键字创建对象时会自动调用构造方法实现成员变量初始化工作。
注意:
如果自定义构造方法后,编译器是不会再提供构造方法,也就是默认的无参数构造方法编译器不会再提供。如果此时再使用new Person()这种方式调用无参够着方法而
自己并没有写无参构造方法系统会报错;