Main
class があり、 class のインスタンスがあるとしましょうA
。
Main
class 内で classのメソッドを呼び出すにはどうすればよいA
ですか?
ありがとう!
これはComposition
...クラスが他のクラスのリファレンスを持っているところ...
Composition
1つまたはいくつかの機能が必要な場合よりも優先され ますが、クラスのすべての機能は必要ありません.Inheritance
例えば:
public class A{
Main m = new M(); // m is a Object Reference Variable of type Main in class A
m.go(); // go() is a method in class Main
}
インスタンス メソッドの場合、A 内の M のメソッドを呼び出すには、A 内の M のインスタンスが必要です。静的メソッドの場合は、直接呼び出すことができます。ただし、循環参照を保持しているので注意してください。
静的メソッドの Main.methodName()。
あなたがやろうとしていることは悪い習慣かもしれません。Main メソッドまたはクラスは、単にエントリ ポイントにする必要があります
メイン クラスのメソッドを calss A から呼び出すには、クラス A 内に Main クラスのインスタンスが必要です (同じパッケージ内にあると見なします)。
メソッドが静的メソッド (つまり、"public static ReturnType methodName()" で宣言されている) の場合、A クラスで Main.methodName() を呼び出す必要があります。
ただし、メソッドがインスタンス メソッド ("public ReturnType methodName()" として宣言) である場合は、何らかの方法で Main のインスタンスを A のインスタンスに渡す必要があります (おそらくコンストラクターまたはセッター メソッドを介して)。A クラス内で、instanceOfMain.methodName() を呼び出すことができます。
ただし、(一部の人がすでに述べたように)これはおそらく物事を処理するための最良の方法ではありません. Main クラスは、単にプログラムの開始場所にする必要があります。実際のプログラム ロジックを実行する場所ではありません。