gpt4 book ai didi

java - 类实例变量可以从 Java 的子类中排除吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:58:09 26 4
gpt4 key购买 nike

这可能是个愚蠢的问题,但假设类 Node 有一个名为 strength 的实例变量。并且扩展 Node 的模拟类 Episode 不需要 strength(其他子类需要)。还假设有很多 Episode 节点都存储了 strength 的实例。 Java 中有没有什么方法可以说“这个子类没有strength 变量”?我有点明白为什么这可能是不允许的,但我想我会检查一下。

更新:谢谢大家。正如我所怀疑的那样,这个问题的答案是“否”,但是使用 Episode 不需要的变量/方法创建 Node 的子类,然后将需要这些变量/方法的其他(子)子类连接到该新子类就可以了正是我想要的。

最佳答案

不,这不可能。你可以有例如NodeStrengthNode 类,一个没有 strength 一个有,然后 Episode 类将扩展 Node ,其他人将扩展 StrengthNode

此外,请考虑 access control在 Java 中,就好像 strengthNode 中的一个 private 变量一样,它不能在 Episode 类中直接访问(仅使用 getter 方法),但它的实例无论如何都会存在于内存中。

关于java - 类实例变量可以从 Java 的子类中排除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39958189/

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