我得到NullPointerException
下面的代碼。擴展父類時發生Java NullPointerException異常
Parent.java
public abstract class Parent {
public Parent(){
parentFunc();
}
public abstract void parentFunc();
}
Child.java
public class Child extends Parent {
ArrayList<String> list = new ArrayList<String>();
@Override
public void parentFunc() {
list.add("First Item");
}
}
當我創建
和Child
像new Child()
我越來越NullPointerException
下面的例子是我的控制檯輸出
Exception in thread "main" java.lang.NullPointerException
at Child.parentFunc(Child.java:8)
at Parent.<init>(Parent.java:5)
at Child.<init>(Child.java:3)
at Main.main(Main.java:8)
我知道這個例外因爲Child.parentFunc()在父構造函數中調用,但我真的很困惑。所以我想知道發生了什麼
什麼是創造的順序;
- 當創建列表變量
- 在構造函數的調用
- 當創建功能,並呼籲其稱爲構造
父母是先構建的,然後是孩子。該函數被調用時,該列表並未創建,因此是NPE。 – duffymo