当使用 Java 时,当子类通过声明另一个同名的实例变量来隐藏父类(super class)的实例变量时,是否有办法获得编译器警告(如果重要,则使用 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
中被警告该变量已经存在。
最佳答案
是的。在 Eclipse 中转到
Preferences->Java->Compiler->Errors/Warnings
在该 Pane 中有一个关于名称隐藏和冲突的小节,其中包含您要查找的选项。
关于java - 继承 - 隐藏具有相同名称的父类(super class)变量时发出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13805546/