java で変数をオーバーライドできない理由、それは変数を非表示にします
class A {
int a = 4;
public void test(){
System.out.println("Test method of A" );
}
}
class B extends A {
int a = 5;
public void test(){
System.out.println("Test method of B" );
}
public static void main(String s[]){
A a= new B();
System.out.println("Value of a : " a.a );
System.out.println("Method result " a.test() );
}
}
出力::
Value of a : 4
Mthod result :Test method of B
B のクラス テスト メソッドが呼び出されたが、変数がスーパー クラス参照からアクセスされたため