はい。オブジェクト内にはABC変数が1つだけあります。ただし、そもそもフィールドを公開しないでください。フィールドはほとんど常にプライベートである必要があります。
ABC
内で変数を宣言した場合も違いTester1
があります。のフィールドはのフィールドを非表示にしますが、を使用すると、内のフィールドを参照することになります。ただし、そうしないでください。変数を非表示にすることは、コードを保守不可能にするための非常に迅速な方法です。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
}
}