【发布时间】:2010-04-06 02:45:19
【问题描述】:
我想我的 Java 数组遇到了继承概念墙。我对Java有点陌生,所以如果我有颠倒的事情请告诉我。本质上,我想做三件事:
- 使用我的 Runners 类的属性创建一个 runnersArray。
- 使用我的 GenerateObjects 类的 GenerateObjects 方法填充我的 runnersArray。
- 在我的 Evaluating 类的 Evaluating 方法中访问我填充的 runnersArray 的内容。
问题似乎是 runnersArray 对上面第 2 步和第 3 步的方法是不可见的,但是它们的类(由于设计原因)不能继承或扩展 Runners 类。
提前感谢您的任何建议。
这里有一些代码 sn-ps 显示了我正在尝试做的事情:
public class Runners extends Party {
Runners[] runnersArray = new Runners[5];
}
和
public class GenerateObject extends /* certain parent class */ {
public GenerateObject (int arrayNum) {
runnersArray[arrayNum] = /* certain Runners attributes */;
}
}
和
public class Evaluating extends /*certain parent class*/ {
public Evaluating (int arrayNum) {
System.out.println(/* String cast attribute of runnersArray[arrayNum]*/;
}
}
【问题讨论】:
-
根据您发布的骨架,为什么 GenerateObject 和 Evaluating 需要 Runners 的实现细节来完成看似微不足道的操作(分配成员,获取字符串)? Runners 不能提供方法来代替这些其他类直接处理其状态吗?
-
我可以为此使用 Runners,但我有大约 5 或 6 个类似于 Runners 的类。按照您建议的方式对每个类进行编码会很乏味。 GenerateObject 和 Evaluating 旨在为所有这些类提供一站式服务,并执行更复杂的操作。
标签: java arrays inheritance