gpt4 book ai didi

java - Java中的父类和子类可以有相同的实例变量吗?

转载 作者:太空狗 更新时间:2023-10-29 22:49:46 24 4
gpt4 key购买 nike

考虑这些类:

class Parent {
int a;
}

class Child extends Parent {
int a; // error?
}

Childa 的声明是否应该由于多个int a 声明而产生编译错误?

最佳答案

child.a 阴影(或隐藏)parent.a

它是合法的 Java,但应该避免使用。我希望您的 IDE 可以选择就此向您发出警告。

但是请注意,这只是一个问题,因为您已经向世界公开了一个变量。如果您确保所有变量一开始都是私有(private)的(将方法的 API 从字段的实现中分离出来),那么父项和子项是否具有相同的字段名称并不重要 - 子项不会无论如何都能看到 parent 的领域。如果将方法从子级移动到父级,可能会造成混淆,并且通常不利于可读性,但比隐藏情况要好。

关于java - Java中的父类和子类可以有相同的实例变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3501060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com