构造方法的继承机制
构造方法的继承机制
(一)级联机制:
先看代码:
package com.company;
public class Main {
Main(){
System.out.println("this is main class");
}
public static void main(String[] args) {
Second test=new Second();
}
}
package com.company;
/**
* Created by QJ on 2017/6/22.
*/
public class Second extends Main {
Second()
{
System.out.println("this is second class");
}
}
运行结果:
this is main class
this is second class
Process finished with exit code 0
可以得出级联机制的运行流程:
注:java只能默认继承默认的构造方法,即无参的构造方法。如果父类中存在有参的构造方法,则不能继承父类中的java提供的默认构造方法,为了解决这种问题,一般在java的父类中,定义一个默认的无参构造方法。
(二)非级联机制:
比如PHP等,直接覆盖父类的构造,如果要调用父类的构造方法一使用Parent::调用。