簡而言之,我有一個包含多個變量和方法的抽象類。其他類擴展了這個抽象類,但是當我嘗試通過調用抽象類中的getter方法來讀取抽象類中的私有變量時,它將返回null作爲變量的值。如何讀寫抽象類的變量
public class JavaApplication {
public static void main(String[] args) {
NewClass1 n1 = new NewClass1();
NewClass2 n2 = new NewClass2();
n1.setVar("hello");
n2.print();
}
}
public class NewClass1 {
public String firstWord;
public void setVar(String var) {
firstWord = var;
}
public String getVar() {
return firstWord;
}
}
public class NewClass2 extends NewClass1{
public void print() {
System.out.println(makeCall());
}
public String makeCall() {
return getVar();
}
}
仍打印出null。
請發表實際的代碼。正如所寫的,你的'子類'類不會被編譯。 – rgettman
爲什麼「System.out.println(var2)」不在方法中? – BobLoblaw
只需編譯代碼('String var2 = getVar1();'),將它放在方法中就行了。沒有必要保護''。 –