是的。對象中只有一個ABC變量。但是請不要讓字段首先公開。領域應該幾乎都是私人的。
如果聲明中Tester1
變量ABC
爲好,然後有會是一個差異 - 在Tester1
會隱藏在Tester2
領域的領域,但使用super
你仍然可以參照場在Tester2
之內。但是不要這樣做 - 隱藏變量是使代碼無法維護的一種非常快速的方法。
示例代碼:
// Please don't write code like this. It's horrible.
class Super {
public int x;
}
class Sub extends Super {
public int x;
public Sub() {
x = 10;
super.x = 5;
}
}
public class Test {
public static void main(String[] args) {
Sub sub = new Sub();
Super sup = sub;
System.out.println(sub.x); // Prints 10
System.out.println(sup.x); // Prints 5
}
}
這實際上是一個很好的問題。 「超級」與重寫方法一起工作是相當常見的知識,但字段不同。 –