Javaのメソッド
ビルディングブロックとして使用されるメソッドは、お客様のプログラムは、タスクを実行することができると呼ばれる何度も繰り返して、同じコードを使用してタスクを実行するたびに。 しかし、根本的な部分の基本的な宣言には、その名前のメソッドは、その戻り値のデータ型は、パラメータに署名し、中括弧のコードセグメントです。 は、次の行のコードの例は、メソッドの宣言です。 静的ボイドdosomething ( ) ( / /追加コードをここに) dosomethingと呼ばれるこのメソッドは戻り値の型のボイドは、これだけでは、そのメソッドの戻り値はありません。 我々はすでに見たというキーワードボイド、これは、メソッドの戻り値の型のメインです。 dosomethingメソッドの場合は、メインプログラムに追加されたクラスは、その時点での主なメソッドは、クラスのメソッドをコールするには、次のコードを入力しdosomething : dosomething ( ) ; 注意しなければならないの静的メソッドdosomething現時点では、法の主な理由は、我々はこれよりdosomethingが起こっていると仮定して法と呼ばれる、静的にも。 このメソッドはないdosomething静的な場合に必要とされるクラスのインスタンスを作成するにはどのdosomethingに属しています。 を参照したい場合に値を返す方法を使用して、指定する必要がありますが、メソッドの戻り値の型は、キーワードを使用する必要がありますし、次にそのメソッドの戻り値のコードブロックの戻り値を指定しています。 静的int getfivedoubled ( ) (戻り10 ; ) 単純には、以下のメソッドの戻り値の10をどこから呼ばれていた。 以下の行のコードを追加する可能性がある、たとえば、あなたの主なメソッドを割り当てるには、この値を変数に: int mynumber = getfivedoubled ( ) ; このセリフのコードには10の値を代入する変数mynumber 。 メモgetfivedoubledといって、今すぐには、メソッドの戻り値のデータ型は、わけではないことをして、独自のコールすることはできません。 getfivedoubled ( ) ; このメソッドは、本質的に何もしないが、可能性がある場合に必要なタスクを実行する方法を使用して、それから値を返す、これを無視したい。 することには、メソッドの戻り値(未ボイド) return文を持っていなければ、可能な限りのあらゆる地点から、メソッドを終了します。 ピックアップ場合は、コンパイラは、戻り値なしのパスが可能です。 その一方で、お持ちの場合は、メソッドの戻り値のデータ型ボイドそれからしたいメソッドのうち、早期終了することができます復帰して、独自のキーワードを使用しています。 たとえば、次のコードを取る: 公共ボイドdosomething ( ) (もし(真のleaveearly == )返り; / /他のコードの残りの部分を続行) これは、 break文と同様には、どのように使用される特定のコードブロックを終了する時は、スイッチなどのケースとループは、以前として我々を見た。 我々はその例を見ただけでは、非常に基本的な例では、キーワードの使用は、しかし、このインスタンスを返すためにすぐに終了することが非常に有用な複雑なコードのクラスターのうち、指定したメソッドです。 パラメータの受け渡し前回の方法では、 getfivedoubled 、かなり無意味とは、非常に不便なので、 1つの値のみを返しますが、 10 。 しかし、我々がかかる可能性を作成する方法を使用して、任意の数には、二重にし、次にその2倍の値を返す。 このパラメータを渡すことができます達成を使用しています。 パラメータ値を渡すことができますメソッドに渡すことは、その後の操作方法です。 次の方法の1つのパラメータが含まれ、これは2倍にし、新しい値が返されます。 int doublenumber ( int番号) (番号*= 2 ;戻り番号; ) 見てわかるとおり、このパラメータは、 int型の変数と呼ばれる番号を指定して金具の間には、メソッドの名前に従ってください。 このメソッドを呼び出している場合は、例えば、次のコードを使用する: / /二重の2に等しい4 int mynumber = doublenumber ( 2 ) ; / /その後の数を現在の4倍に等しい8 mynumber = doublenumber ( mynumber ) ; / /それから数を現在の4倍に等しい32 mynumber = doublenumber ( doublenumber ( mynumber ) ) ; この最後の行のコードは、メソッドの呼び出しdoublenumber 2回は、最初の値を返すことは、二重の価値mynumberは順番には、その後のパラメータとして渡される2番目のコールをしてdoublenumber結局、最後の値を返す32 、割り当てることこの変数をmynumber 。 我々は何を繰り返したくは前述のは、この値を引数として渡すことは、基本データ型の変数は、変数、メソッドに渡されるそのものではない。 新たな変数とその値は、この方法で作成し、次に使用されています。 これは、この値を内部で行われた変更と呼ばれる方法には影響しませんが、元の変数の値です。 することもできますが2つ以上のパラメータを使用して、パラメータは、カンマを別々の連続だ。 次の簡単な例では、 spiderseyes.java 、掛け算メソッドが含まれ、これには2つのパラメータの両方が含まれint型の値を返すと、 2つのパラメータを掛けている。 ここでは、コード: 公共の公共の静的なクラスspiderseyes ( int乗算( int valuea 、 int valueb ) (戻りvaluea * valueb ; )公共静的ボイドメイン(文字列[ ] args ) ( int numberofspiders = 10 ; int eyesperspider = 8 ; int totaleyes =掛け算( numberofspiders 、 eyesperspider ) ; system.out.println ( "目の合計= " + totaleyes ) ; ) ) そこには2つの点に注意この例からです。 第一に、私たちはそのために使用されるキーワードの静的メソッドを掛け合わ。 これは、そこではないクラスのインスタンスを作成、現在のところspiderseyesので、メインのために、これは静的は、そのメソッドにアクセスできるように掛け算は、静的なこともしなければならない。 注意点は、 2番目のものをメインにも〜するためには、メソッドのパラメータには、文字列の配列です。 メソッドの署名2つのメソッドを持つことができるが、同じ名前を載せています。 しかし、そうでなければならない時が異なるため、ご希望の署名を1つのメソッドをコールするには、コンパイラがないから、他の方法での差別化の1つとしては、メソッドの呼び出しは、コンパイラの認識に基づいて署名した。 しかし、同じ名前のメソッドでは、さまざまな署名は、メソッドのオーバーロードとして知られています。 このメソッドの名前とそのメソッドのパラメータシグネチャのメソッドのシグネチャを決定する。 メソッドの戻り値の型は、その署名の影響はありません。 したがって2つの方法で使用することはできませんが、同じ名前の異なる2つの戻り値と同じパラメータに署名した。 は、前の例では、 spiderseyes.java 、掛け算と呼ばれる方法を私たちは、これは2つの整数型のパラメータ値は、このパラメータの値を返す値を掛けている。 我々も含まれている場合は、同じことをする方法を使用してdouble型の値が使用される代わりに、我々が、同じ名前の別の方法を作成して、異なるパラメータが署名した。 公共の静的なint乗算( intで、 int Bの) ( * Bに返す; )公共の静的な二重多重(二重には、ダブルBの) ( * Bに返す; ) このパラメータのシグネチャは、データの種類に基づいて決定されるので、このパラメータとパラメータの数も。 まあ言ってみれば、以下のメソッドを追加して今すぐ我々と共に、前の2つの方法: 公共の静的な長い掛け算( intで、 int Bの) (リターン(ロング) ( * Bの) ; ) このプログラムをコンパイルするためには、もはやこのメソッドは、元の多重方式と同様の署名を共有しています。 彼らは、同じ名前と同じパラメータでも、署名の両方に2つの整数型のパラメータです。 最も明白な解決策は、署名のパラメータを変更するには、後者の方法を取ることlong型の2つのパラメータです。 公共の静的な長い掛け算(ロングでは、長い間Bの) ( * Bに返す; ) このパラメータは、今の仕事のための署名には違いがあります。 できない場合は、パラメータを変更するには合理的な方法で署名、どうぞお構いなく;だけでは別の名前のメソッドを与える(例えば、 multiplyint 、 multiplydouble 、 multiplylong等) 。 これは、記事に追加されたc.ガブリエラペレス
|
|||
|