package test;
public class test { private String baseName = "base";
public test() { callName(); }
public void callName() { System.out.println(baseName); }
static class Sub extends test { private String baseName = "sub";
public void callName() { System.out.println(baseName); }
}
public static void main(String[] args) { test bb = new Sub(); }}
為什么輸出結(jié)果為 null?
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗 獲得超8個贊
父類先初始化,并且父類構(gòu)造函數(shù)調(diào)用了callName()方法,子類會覆蓋這個方法,但是子類這時候還沒初始化,所以只能打印默認(rèn)值(null)
添加回答
舉報
0/150
提交
取消