這是中的示例Java™SCJP認證程序員指南綜合入門 - 第三版 - Khalid A. Mughal Rolf W. Rasmussen我無法理解。無法訪問也是子類的子類中的受保護成員
我知道如果我們沒有將它繼承到另一個包中定義的子類中,我們就無法訪問受保護的成員。
但我仍不明白爲什麼我們無法從子類的子類訪問它。
的例子如下
A.javapackage packageA;
public class A {
protected int z;
}
B.java
package packageB;
import packageA.A;
public class B extends A {
void action(A obj1, B obj2, C obj3) {
z = 10; // z in B - Works
obj1.z = 10; // Won't work for obvious reason
obj2.z = 10; // z in B - Works
obj3.z = 10; // z in C - Works
}
}
class C extends B {
void action(A obj1, B obj2) {
z = 10; // Works
obj1.z = 10; // Won't work for obvious reason
obj2.z = 10; // z in B - WHY DOESN'T THIS WORK?????
}
}
這是一個學術活動,還是你真的想要寫這樣的代碼? – jiggy
@jiggy這是一個例子** Java程序員指南SCJP認證全面入門第三版Khalid A. Mughal Rolf W. Rasmussen **我無法理解。 –
我當然希望作者不要使用諸如'A','B'等類名的例子。如果他們這樣做,不是很直觀! – Joeblackdev