ヘルプありがとうございました!メソッドのインスタンスを使用
答えて
public class Driver {
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
int number = 3;
int userChoice = 0;
GameRunner runner = new GameRunner();
// The following line will invoke the target method of your game runner instance.
runner.roul(in, number, userChoice);
}
}
ありがとう、私はこれを見て彼の外にそれを考え出した!ありがとう – ForgedFire
パブリック静的ボイドラン()あなたが別のものを必要としないアプリケーションへのエントリポイントです。あなたはオブジェクト指向の基礎をブラッシュアップする必要があるように見えます。
あなたがゲームを作るしようとしている場合は、おそらくあなたはチュートリアルを開始するだろうか? Lightweight Java Game Libraryのようなゲームライブラリを使うことをお勧めします。いくつかのチュートリアルのためにgoogleを進めてください。
'public static void run()'はどこに定義されていますか?間違いなく、どのJavaプログラムのエントリーポイントでもありません。 – byxor
だから、game.roul(in、number)と同じものはどこに行きますか? – ForgedFire
私は強くするJavaを作った人々から、この(公式)チュートリアル読んでお勧めします。https://docs.oracle.com/javase/tutorial/java/concepts/index.html
を(いや、真剣にそのチュートリアルを読んで、私はこれは、具体的にオブジェクト指向プログラミング上のセクションにリンクされています。あなたが尋ねていることを説明しています。非常に便利です)。
あなたの質問にもっと直接答えてください。
roul
メソッドは、その定義の前にキーワードstatic
を持つため、(「インスタンスメソッド」ではなく)「クラスメソッド」です。これは、作成した特定のオブジェクト(インスタンス)を使用するのではなく、クラスの名前を使用して呼び出すことを意味します。
だからGameRunner
のroul
メソッドを呼び出すために、あなたのmain
で次の操作を行います。
GameRunner.roul(in, number, userChoice);
GameRunner
をインスタンス化する必要はありません、それはあなたが起動する必要がある非静的メソッドを持っていない限り。それが事実でない限りだから、次の操作を行いません。
GameRunner roul = new GameRunner();
、あなたの引数の名前がある限りそのタイプなど、あなたのパラメータの名前と同じである必要はありませんのでご注意同じだ。 "parameters"は、メソッドを定義したときに使用した変数です。メソッドに渡す実際の変数の「引数」。例えば
、メソッド定義は、次のパラメータがあります
public static void myMethod(int parameter1, int parameter2) {
/* do stuff */
}
メソッド呼び出しが別の名前ことができます引数があるのに対してこのように呼んで、クラスやメソッドがstatic宣言
MyClass.myMethod(number1, number2);
を:
GameRunner.roul(); // pass in arguments if needed
クラスを静的宣言する必要はありません。 Javaには静的な外部クラスはありません。 – byxor
- 1. PHP:クラスをインスタンス化し、別のクラスのメソッドを使用する
- 2. Java + Selenium:@Factoryを使用したインスタンス別のメソッドのグループ化
- 3. Reactive Frameworkサブスクリプション内のインスタンス変数/メソッドをJavaScriptで使用する
- 4. 内部インスタンス化を使用したnullリストの拡張メソッド
- 5. インスタンス変数をプレフィックスせずにGraphics(ex)メソッドを使用
- 6. ViewModelProviders.ofメソッドを使用せずにViewModelsを直接インスタンス化する
- 7. Golang:Objectのメソッド式インスタンス
- 8. インスタンスのメソッドとインスタンス変数のスレッドセーフ
- 9. 使用インスタンス
- 10. コレクションのインスタンスを使用
- 11. 単一のメソッドを使用して異なるインスタンスの型を返す
- 12. メソッドfindStringを使用して文字の単一のインスタンスを検索する
- 13. Java Nashornインスタンス化メソッド
- 14. ASP.NET CoreのDbSetインスタンスでFind(params object [] keyValues)メソッドを使用する方法?
- 15. クラスクラス - インスタンスとクラスのメソッド
- 16. Getメソッドのインスタンス所有者
- 17. 親クラスのリストの子クラスのインスタンスを返す汎用メソッド
- 18. メソッドの外部で使用するためのインスタンス変数の初期化
- 19. Javaを使用してメソッドからインスタンス変数を設定する
- 20. Add()メソッドを使用してviewstateにインスタンスを追加する方法は?
- 21. 拡張メソッドを使用して文字列インスタンス変数を変更する
- 22. 共有インスタンスを使用してメソッドを呼び出す方法は?
- 23. PHPインスタンスのCPU使用率
- 24. インスタンス変数&self.variableの使用
- 25. クラスポインタとインスタンスの使用
- 26. EC2インスタンスのCPU使用率
- 27. メソッド内のクラスのインスタンスを返す
- 28. インスタンスのリストのメソッドを実行する
- 29. データテーブルが.eachメソッドを使用するときにデータでインスタンス化されない
- 30. reduxを使用するクラスのインスタンスをインスタンス化する方法
「メソッドのインスタンス」というものはありません。クラスのインスタンス(呼び出し可能なメソッドがあります)だけです。 – byxor
ああ、それは私が思っていたことです:) – ForgedFire
@Travisが示唆しているように、私はあなたの質問に最善の答えがあることを恐れています、いくつかのチュートリアルを読むことです。 StackOverflowの答えには、これらすべての概念を説明するのに十分なスペースがありません。 – dimo414