构造器和构造方法
在方法与数据成员中,我们提到,Java中的对象在创建的时候会初始化(initialization)。初始化时,对象的数据成员被赋予初始值。
我们可以显式初始化。如果我们没有给数据成员赋予初始值,数据成员会根据其类型采用默认初始值。显式初始化要求我们在写程序时就确定初始值,这有时很不方便。
我们可以使用构造器(constructor)来初始化对象。构造器可以初始化数据成员,还可以规定特定的操作。这些操作会在创建对象时自动执行。
构造器是一个方法。像普通方法一样,我们在类中定义构造器。构造器有如下基本特征:
构造器的名字和类的名字相同
构造器没有返回值
构造器可以像普通方法一样接收参数列表。这里,构造器Human()接收一个整数作为参数。在方法的主体中,我们将该整数参数赋予给数据成员height。构造器在对象创建时做了两件事:
为数据成员提供初始值 this.height = h;
执行特定的初始操作 System.out.println("I'm born");
这样,我们就可以在调用构造器时,灵活的设定初始值,不用像显示初始化那样拘束。
1.为了初始化成员属性,而不是初始化对象,初始化对象是通过new关键字实现的
2.通过new调用构造方法初始化对象,编译时根据参数签名来检查构造函数,称为静态联编和编译多态
(参数签名:参数的类型,参数个数和参数顺序)
3.创建子类对象会调用父类构造方法但不会创建父类对象,只是调用父类构造方法初始化父类成员属性;