0

これはここではよくある質問のようですが、私が読んだすべてのものについて、彼らはさまざまなことを扱っているようです.

別のクラスのオブジェクトの配列を管理するメイン クラスを使用してプログラムを作成していますが、メイン クラス内からこの 2 番目のクラスから 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() メソッドを呼び出したいと思います。

私が知らないのは、静的修飾子を使用するかどうか、およびどこで使用するか、print() メソッド自体で変数を参照する方法 (つまり、this.unitID、units[i] を使用するかどうか) です。 unitID など) など。

私を混乱させているのは、単純に print() メソッドの性質です。specificUnit.setID() を呼び出すとその特定のオブジェクトの特定の変数が変更されることを完全に理解しているので、問題なく動作するセッターとゲッターがありますが、print() などのメソッドを動作させる方法がわかりません。

ありがとう!

4

2 に答える 2