java - 在 Java 中从类外部调用方法

标签 java instance-methods arrays class-method

这似乎是这里的一个常见问题,但对于我读过的所有问题,它们似乎处理不同的事情。

我正在编写一个带有主类的程序,该主类管理不同类的对象数组,但我在主类中从第二个类调用 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 对象添加到units 数组中。添加完它们后(使用 Main 类中的调用 unitToAdd.add(unitToAdd)),我想从 Main 中调用 Unit 的 print() 方法。

我不知道的是,是否、在哪里使用 static 修饰符,如何引用 print() 方法本身中的变量(即我是否使用 this.unitID、units[ i].unitID 等)等等。

令我困惑的是 print() 方法的本质。我的 setter 和 getter 工作得很好,因为我完全理解调用 SpecificUnit.setID() 正在更改该特定对象的特定变量,但我不知道如何让 print() 这样的方法工作。

谢谢!

最佳答案

简单的答案 - 您需要一个 Unit 实例来调用 print()。我强烈建议您回到基础知识 - Learning the Java Language .

关于java - 在 Java 中从类外部调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7068494/

相关文章:

ios - 文字语法的内存管理

arrays - 如何在 C 中将 float 组写入文件?

java - Google App Engine session 丢失属性

仅接受特定范围值的 Java 变量

python - 我可以指定另一个类的实例方法作为我的方法的变量吗?

c# - 扩展方法与实例方法与静态类

arrays - 从宏函数中提取 __VA_ARGS__ 时初始化数组

java - 如何使用 oAuth 验证 Restful Web 服务

java - 设置Alarm时Intent.getSerializedExtra(obj)在BroadcastReceiver的onReceive中返回null

java - 为什么我无法通过 Java 应用程序(netbeans)更新 MySql 表?