我讀過一本教科書,標記爲私人的班級成員不會繼承。 所以,我認爲如果A
類private
變量x
和B
類延長A
類,那麼類B
將不會有變量x
。 但是一個下面的例子證明了我的誤解,認爲:私人會員和繼承
public class testdrive
{
public static void main(String[] args) {
B b = new B();
b.setLength(32);
System.out.print(b.getLength());
}
}
class A {
private int length;
public void setLength(int len) {
length = len;
}
public int getLength() {
return length;
}
}
class B extends A {
public void dummy() {
}
}
結果是32,我很困惑,因爲它看起來像物體與裁判b
現在有變量length
,它的值是32,但是裁判b
指從類B
創建的對象,其中length
變量未定義。 那麼,怎麼樣,類B
繼承private
變量length
?如果是這樣,那麼private
變量是不會被繼承的呢?
不要在標題中加入「Java」,你已經用'java'標記了你的問題。 – Pshemo 2014-11-23 17:45:47