2016-12-06 6 views
0

ヘルプありがとうございました!メソッドのインスタンスを使用

+2

「メソッドのインスタンス」というものはありません。クラスのインスタンス(呼び出し可能なメソッドがあります)だけです。 – byxor

+0

ああ、それは私が思っていたことです:) – ForgedFire

+1

@Travisが示唆しているように、私はあなたの質問に最善の答えがあることを恐れています、いくつかのチュートリアルを読むことです。 StackOverflowの答えには、これらすべての概念を説明するのに十分なスペースがありません。 – dimo414

答えて

0
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); 
    } 
} 
+1

ありがとう、私はこれを見て彼の外にそれを考え出した!ありがとう – ForgedFire

-1

パブリック静的ボイドラン()あなたが別のものを必要としないアプリケーションへのエントリポイントです。あなたはオブジェクト指向の基礎をブラッシュアップする必要があるように見えます。

あなたがゲームを作るしようとしている場合は、おそらくあなたはチュートリアルを開始するだろうか? Lightweight Java Game Libraryのようなゲームライブラリを使うことをお勧めします。いくつかのチュートリアルのためにgoogleを進めてください。

+0

'public static void run()'はどこに定義されていますか?間違いなく、どのJavaプログラムのエントリーポイントでもありません。 – byxor

+0

だから、game.roul(in、number)と同じものはどこに行きますか? – ForgedFire

0

私は強くするJavaを作った人々から、この(公式)チュートリアル読んでお勧めします。https://docs.oracle.com/javase/tutorial/java/concepts/index.html

を(いや、真剣にそのチュートリアルを読んで、私はこれは、具体的にオブジェクト指向プログラミング上のセクションにリンクされています。あなたが尋ねていることを説明しています。非常に便利です)。


あなたの質問にもっと直接答えてください。

roulメソッドは、その定義の前にキーワードstaticを持つため、(「インスタンスメソッド」ではなく)「クラスメソッド」です。これは、作成した特定のオブジェクト(インスタンス)を使用するのではなく、クラスの名前を使用して呼び出すことを意味します。

だからGameRunnerroulメソッドを呼び出すために、あなたの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); 
0

を:

GameRunner.roul(); // pass in arguments if needed 
+0

クラスを静的宣言する必要はありません。 Javaには静的な外部クラスはありません。 – byxor

関連する問題