构造方法的继承机制

构造方法的继承机制

(一)级联机制:

先看代码:

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::调用。

原文地址:https://www.cnblogs.com/qiujun/p/7089839.html