考虑以下类:
class Parent {
int a;
}
class Child extends Parent {
int a; // error?
}
由于多个的声明,a
in 的声明Child
不应该给出编译错误int a
吗?
child.a
阴影(或隐藏物)parent.a
。
这是合法的Java,但应避免使用。我希望您的IDE可以为您提供警告。
但是请注意,这只是一个问题,因为您已经向世界公开了一个变量。如果确保所有变量都是私有变量(将方法的API与字段的实现分开),那么父级和子级都具有相同的字段名就没关系-子级不会仍然能够看到父母的字段。如果将方法从子级移到父级,可能会造成混乱,通常它对可读性不是很好,但是比隐藏情况更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句