如何在Java继承中获取变量隐藏的警告?

时间:2016-09-14 15:13:45

标签: java

我在Java程序中遇到了一个错误,因为我不明白隐藏了继承。

我的错误归结为:

class Animal {
    int numPaws = 4;
}

class Snake extends Animal {
    int numPaws = 0;
}

class Runner {
    public static void main(String[] args) {
        Snake s = new Snake();

        /* There two different copies of this variable,
           but no override warning as there would be with a method. */
        System.out.println(s.numPaws);
        System.out.println(((Animal)s).numPaws);
    }
}

现在我想问:

如果我使用方法执行此操作,则会收到警告并告知使用@Override装饰器。为什么我没有变量警告?

将来如何检查?

为什么Java不提供警告系统?或者,为什么它允许变量?

0 个答案:

没有答案