1,源代码
package com.java.demo;
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
先执行父类的tellName();这里会调用子类的tellName();单子类的name此时还未初始化,是null