在Java中,與它引用 的實例相關的對象引用如何實現? 我遇到了一些非常棘手的問題,並想深入瞭解它。在下面的場景中,子類的shine()重寫了超類的(這是正常的),但name屬性是超類的名稱,儘管在子類上調用了NEW(我發現這很奇怪!)有人會幫我瞭解這個?繼承場景中引用和對象之間的關係
class Father {
public String name = "John Senior";
public void shine() {
System.out.println(name + "'s shining");
}
}
//Subclass
class Son extends Father {
public String name = "John Junior";
public void shine() {
System.out.println(name + "'s shining");
}
}
//Demo Class
class Test {
public static void main(String[] args) {
Father f1 = new Son();
System.out.println(f1.name);
f1.shine();
}
}
//program output
/*John Senior
John Junior's shining */
此代碼不會編譯。 'main'中沒有's1'。也張貼輸出。 –
@AhhijitSarkar你是對的。這是一個錯字。 – makassi