複数のクラスがあり、別のクラスのメソッドを呼び出そうとしています。これは機能するはずですが、エラーが発生します。
TheMethods method = new TheMethods();
Javaは、コンストラクターTheMethods()が未定義であることを教えてくれます。私が間違っていることは何ですか?
編集:メインクラスへの参照を渡して初期化する必要がありました。
複数のクラスがあり、別のクラスのメソッドを呼び出そうとしています。これは機能するはずですが、エラーが発生します。
TheMethods method = new TheMethods();
Javaは、コンストラクターTheMethods()が未定義であることを教えてくれます。私が間違っていることは何ですか?
編集:メインクラスへの参照を渡して初期化する必要がありました。
TheMethodsで提供する唯一のコンストラクターは
public TheMethods(MCTag m) {...
これはMCTagパラメーターを取り、コンパイラーが指示しているように存在しない引数なしのコンストラクターを呼び出そうとしています。
コンストラクターにはパラメーターがありますMCTag m
。このコンストラクターを使用する場合は、次のようにする必要があります。
TheMethods method = new TheMethods(MCTag m);
コンストラクターは他のメソッドと同様であり、正しく機能するためには正しいパラメーターが必要です。
編集:それは次のようになります:
MCTag myTag;
TheMethods method = new TheMethods(myTag);
method.selectPlayer();
引数なしのデフォルトコンストラクターを追加します
public TheMethods(){}
私があなたのコードで見る唯一のコンストラクターは:
public TheMethods(MCTag m)
ただし、ここではサンプルコードに値を渡さないでください
TheMethods()ctorが定義されていることは実際にはありません
別のクラスのパブリックメソッドを参照するには、
Class.Method();