java - ヘルプ: 次のコードを詳しく分析してください。混乱しています。
阿神
阿神 2017-05-17 09:59:16
0
3
709

パブリック クラス T1 {

リーリー

}
私の理解: rename メソッドの
aa はスタック メモリにあり、main メソッドの aa はヒープ メモリにあります。rename メソッドを実行しても、main メソッドの aa は変更されません。それ、そうですよね?

阿神
阿神

闭关修行中......

全員に返信(3)
迷茫

値による呼び出しは、最も一般的に使用される評価戦略です。関数の仮パラメータは、呼び出し時に渡される実際のパラメータのコピーです。仮パラメータの値を変更しても、実際のパラメータには影響しません。

参照によって呼び出された場合、関数の仮パラメータは、コピーではなく実際のパラメータへの暗黙的な参照を受け取ります。これは、関数パラメータの値が変更されると、実際のパラメータも変更されることを意味します。同時に、両方とも同じ値を指します。

Java コア テクノロジ (I) では、まず、基本型の場合、関数はその値を変更して別のオブジェクトを指すことができないと述べました。したがって、すべて値渡しされます。

いいねを押す +0
Ty80

いいえ、関数内の aa は新しいアドレスを指しており、外部の aa は依然として「BB」のアドレスを指しているため、結果は BB になります

いいねを押す +0
伊谢尔伦

この関数は、値を渡すときに MAIN 関数で AA を渡さず、AA の値のコピーを作成してから渡します

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート