我有一個超類名爲TestSuper
如何從子類中獲取數據字段而不是超類?
public class TestSuper {
int a = 0;
}
,我有2名爲TestSub
子類和TestSub2
,在我的主類擴展TestSuper
public class TestSub extends TestSuper{
int a=1;
}
public class TestSub2 extends TestSuper{
int a=2;
}
我創建了一個發生在一個類型TestSuper
的方法並返回它的一個值,並在主屏幕上顯示它
public class Main {
public static void main(String[] args){
System.out.println(test(new TestSub())+" "+test(new TestSub2()));
}
public static int test(TestSuper b){
return b.a;
}
}
但輸出是「0 0」而不是「1 2」,我該怎麼辦?
您只能覆蓋子類中的方法。你不能覆蓋字段。 –
只需在你的子類'TestSub(){a = 1;}' – Maraboc