3

使用 Java 时,当子类通过声明另一个同名的实例变量来隐藏超类的实例变量时,是否有办法获得编译器警告(如果重要,则使用 E​​clipse)?例如:

class A {
    String variable;

    A() {
        variable = "A";
    }
}

class B extends A {
    int variable;

    B() {
        variable = 1;
    }
}

B b = new B();
System.out.println("Variable value: " + b.variable + ", " + ((A) b).variable);
// prints out: "Variable value: 1, A"

我想被警告B该变量已经存在。

4

1 回答 1

6

是的。在 Eclipse 中转到

Preferences->Java->Compiler->Errors/Warnings

在该窗格中有一个关于名称阴影和冲突的小节,其中包含您正在寻找的选项。

于 2012-12-10T17:16:00.720 回答