我想知道,在这个例子中如何:
public class Test
{
public int getA()
{
return 1;
}
public static class Test2 extends Test
{
@Override
public int getA()
{
return 2;
}
}
public static void main(String[] args)
{
Test2 a = new Test2();
System.out.println(a.getA());
}
结果可以得到1吗? 有什么办法吗?获得测试方法对我有用。
答案 0 :(得分:2)
当Test2的getA()根据您的规范返回2时,为什么要获得1?似乎违反直觉。不,没有办法,因为返回2而不是1是首先要覆盖的重点。
答案 1 :(得分:1)
如果您想获得1,那么您应该实例化Test
而不是Test2
Test a = new Test();
System.out.println(a.getA());