构造方法是专门用来创建对象的方法,当我们通过关键字new来创建对象时,其实就是调用构造方法。
格式
public 类名称(参数类型 参数名称){
方法体
}
构造方法的方法名必须与类名一样。
构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
构造方法不能作用是完成对象的初始化工作,他能够把定义对象时的参数传递给对象的域。
构造方法不能由编程人员调用,而要系统调用。
构造方法可以重载,以参数的个数,类型,或排序顺序区分。
在Subtine的主方法中只调用子类构造方法,实例化子类对象并且在子类构造方法中,没有调用父类的构造方法的任何语句。但是在实例化对象时,它相应的调用了父类构造方法,在结果中还可以看到调用构造方法的顺序,首先是顶级,再继续往下直达本身类。也就是说实例化子类的时候,要首先实例化父类对象,然后在实例化子类对象,所以在子类构造方法调用父类构造方法前,父类已经实例化了。
package text_4_1;
public class Parent {
Parent(int a){//就是将无参数构造方法改成有参数的。
System.out.println("调用父类Parent构造方法" + a);
}
}
package text_4_1;
public class Subparent extends Parent{
Subparent(){
System.out.println("调用子类Subparent的构造方法");
}
}
package text_4_1;
public class Subtine extends Subparent{
Subtine(){
System.out.println("调用子类Subtine构造方法");
}
}
package text_4_1;
public class Main {
public static void main(String[] args){
Subtine subtine = new Subtine();
}
}
————————————————