這段代碼不是我的,我需要對它進行一些改進,但是我陷入了這個問題。Java從抽象類訪問子類的方法/變量
我有一個抽象類「CallNode」和很多子類,其中一個是「Call」。 「Checker」類正在攔截未接來電,但將其作爲CallNode返回。我的問題是,我需要獲得此通話的ID,但我無法通過CallNode訪問它。
你有什麼建議可以解決這個問題嗎?
我讓你的代碼,這樣就可以更好地理解這個問題:
public abstract class CallNode {
public abstract CallNode hasMissingCall();
}
public class Call extends CallNode {
public int id;
// Simplification of method
public CallNode hasMissingCall() {
if (true)
return this;
// ...
}
}
public class Checker{
private static CallNode rootExpected;
CallNode missing = rootExpected.hasMissingCall();
System.out.println(missing.id); // THE PROBLEM!!!
}
感謝的提前!
'公共抽象CallNode hasMissingCall();',聽起來像它應該返回一個布爾值。特別糟糕。 –