使用Overriden方法

时间:2014-01-22 23:01:20

标签: java class methods override

我想知道,在这个例子中如何:

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吗? 有什么办法吗?获得测试方法对我有用。

2 个答案:

答案 0 :(得分:2)

当Test2的getA()根据您的规范返回2时,为什么要获得1?似乎违反直觉。不,没有办法,因为返回2而不是1是首先要覆盖的重点。

答案 1 :(得分:1)

如果您想获得1,那么您应该实例化Test而不是Test2

Test a = new Test();
System.out.println(a.getA());