オーバーロードと転送方法やパラメータの受け渡し

 

オーバーロード方法:

定義:同じメソッド名が異なる引数リスト

同じ種、同じ前提のメソッド名がありました

異なるパラメータリストの長い場所の異なるオーバーロードされたメソッドがある限り(パラメータの数、順序型)。

構成例:

 

 

 

 

 

オーバーロードの注意事項

 

 

 

 

メソッドのオーバーロードと変数名は問題ではありません。メソッド名とタイプを参照してください。

同じメソッド名とパラメータリストは、同じ定義を繰り返すことです

戻り値は、とは何の関係もありません

 

 

 パラメータの受け渡し:

 

 

 分析:ここでは最終System.out.porintln(); // 1ので、int型のA = 1;メインようで

= 1のみが全て印刷主Aに(= 0)を取得している、getメソッド、GETメソッドの値に割り当てられているが、値を返しません 

porintln A = 1。

 

 

値が渡されます。

 

分析:最初Demo02.class Demo02にファイルを次に方法およびファイル共有データ領域に移行変換、

主走査方法は、スタックに入れmainメソッドは、この変数は、長いスタックにスタック内のスタックのように存在していません

get()メソッドのコールスタックを見つけるための方法であり、その後、クラスファイルに入りました。値の内側に渡されるGEI(A)(I)、

右は、私のメソッドのパラメータに値= 1を着用した後、= 2は、その後、= 2のメソッドは、getそこノーリターン値が消える方法をできるように

そして、1の値ように、瞬間の内部を印刷します。

 

値が渡されます:私は効果なしの値が割り当てられたパラメータの引数を与えた場合

 

 

 

 

 

分析:のprintln(ARR [0])2であります

コンパイルDemo03 Demo03.classは、ファイル共有方法やデータ領域に保存されて生成します

そして、主走査方法は、あなたのクラスのファイルを見つけるために、mainメソッドの実装を押しミアン

実行スタックに彼をしてみましょう。次いで、INTから次のステップを実行するためのコードは、[] = {1,2,3}この手順は、パイルを開くことができ

そして、彼女はあなたの配列の割り当てを与えたので、その値はすべて1を取り除くためにあるように、彼らは3の長さの配列は、0の初期値を与えている与えます

3このアドレスはARR内部ARR格納された指向性に割り当てられています。そして、getメソッドを呼び出して、プッシュは、実際のパラメータの後に渡します

しかし、転送アドレスが0x001で、アドレスでのこのメソッドは福が0x001であるARR、ARRこの割り当てを与えることです。

所有这个arr[0]=2就等于0x001[0]=2;然后方法结束,方法消失,然后打印arr[0]的值是2

引用传递:

 

如果传的是一个地址值或者到堆里的东西 一定会有影响

 

总结:

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/www1842564021/p/12035161.html