我在尝试使我的编码保持井井有条并尽可能简单时遇到问题。我基本上有一个包含多个值的类似对象数组。我想访问这些单独的值并能够随意修改它们,但似乎无法访问它们。这就是代码基本上看起来的样子......
//In file Champion.java
package Champions;
public interface Champion{}
//In another file ChoGath.java
package Champions;
public class ChoGath implements Champion{
public static double health = 440.0;
}
//Yet another file Ahri.java
package Champions;
public class Ahri implements Champion{
public static double health = 380.0;
}
//In the main build file LOLChampBuilder.java
package LOLChampBuilder;
import Champions.*;
public class LOLChampBuilder{
public static Champion[] listOfChampions = {new ChoGath(), new Ahri()};
public static void main(String args[]){
//This next line works
System.out.println(new ChoGath().health);
//This next line does not work
System.out.println(listOfChampions[0].health);
}
}
还有更多变量等等,但这是基本问题。
ChoGath 和 Ahri 是 Champions 组的成员,每个人都有自己独特的健康价值。我希望能够将它们全部组合到一个数组中以便于获取值,因为我知道 ChoGath(例如)在数组中的位置。
我得到错误Cannot find symbol 'health' in Champions.Champion
。我已经在 Champion 中创建了值并修复了它(并将其更改为类,然后扩展而不是实现)但是当我去打印时,该值始终为 380.0,因为它是对值 health 的最新编辑在冠军。
我想要它,以便我可以将所有“冠军”组合在一个数组下(因此它们需要是相同的对象类型,即:冠军,如果我错了,请纠正我)并访问它们各自的值。我似乎无法做到这一点,所以我不知道我是否需要使用 ArrayList (我从未使用过)或其他东西。现在我知道我可以解决这个问题并将其全部放入一个大文件中,但我正在尝试将多个文件用于组织目的和清洁。想做什么?