我有一个超类名为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