这似乎是这里的一个常见问题,但对于我读过的所有问题,他们似乎处理不同的事情。
我正在编写一个带有管理不同类对象数组的主类的程序,并且我很难从主类中调用第二个类的 print() 方法。
Main 类尝试调用 Unit 类中的 print()。Unit 类看起来像这样:
public class Unit{
static int numOfUnits = 0;
public Unit[] units = new Unit[8];
private int unitID;
//constructors are here
public void print(){
for (int i = 0; i < units.length; i++)
System.out.print(units[i].unitID);
}
public void add(Unit unit){
mobs[numbofUnits] = unit;
numOfUnits++;
}
}
所以我想要发生的是,通过 Main 类,我将新的 Unit 对象添加到单位数组中。当我完成添加它们时(使用 Main 类中的调用 unitToAdd.add(unitToAdd)),我想从 Main 中调用 Unit 的 print() 方法。
我不知道的是,是否以及在哪里使用static修饰符,如何引用print()方法本身中的变量(即我是否使用this.unitID,units[i]. unitID 等)等等。
让我感到困惑的是 print() 方法的本质。我的 setter 和 getter 工作得很好,因为我完全理解调用 specificUnit.setID() 正在更改该特定对象的特定变量,但我不知道如何让 print() 等方法工作。
谢谢!