父类和子类的构造方法的调用顺序

Posted xyqing525

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了父类和子类的构造方法的调用顺序相关的知识,希望对你有一定的参考价值。

父类和子类的构造方法的调用顺序

(1)Java例子:

package niukewang;

public class Dervied extends Base {

    private String name = "dervied";

    public Dervied() {
        tellName();
        printName();
    }
    
    public void tellName() {
        System.out.println("Dervied tell name: " + name);
    }
    
    public void printName() {
        System.out.println("Dervied print name: " + name);
    }

    public static void main(String[] args){
        
        new Dervied();    
    }
}

class Base {
    
    private String name = "base";

    public Base() {
        tellName();
        printName();
    }
    
    public void tellName() {
        System.out.println("Base tell name: " + name);
    }
    
    public void printName() {
        System.out.println("Base print name: " + name);
    }
}

(2)输出结果:

Dervied tell name: null
Dervied print name: null
Dervied tell name: dervied
Dervied print name: dervied

 

以上是关于父类和子类的构造方法的调用顺序的主要内容,如果未能解决你的问题,请参考以下文章

java中父类和子类初始化顺序

父类和子类加载顺序-面试被问过一次

简述(非)静态代码块和构造方法的执行顺序

简述(非)静态代码块和构造方法的执行顺序

父类和子类的相互转换及父类调用子类的方法

(Java)类实例化过程中,父类和子类的静态变量静态代码块成员变量构造函数的执行顺序是什么?