继承 - 在使用相同名称遮蔽超类变量时发出警告

时间:2012-12-10 16:58:31

标签: java

使用Java时,有没有办法在子类通过声明另一个相同名称来影响超类的实例变量时获得编译器警告(使用Eclipse,如果重要)?例如:

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中警告变量已经存在。

1 个答案:

答案 0 :(得分:6)

是。在Eclipse中转到

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

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