2017-09-08 4 views
0

私がJavaチュートリアルを進めると、私はそのポインタがJavaで使われていないという考えを得ました。内部的にはポインタを使用していますが、開発者の視点から見るとJavaでは参照のみがサポートされています。それでは、javaが参照渡しをサポートしないのはなぜですか?Javaリファレンスについて

答えて

2

すべてのオブジェクト変数は参照だけなので、オブジェクトを渡すときは実際に参照渡し(技術的には、値によってコピーされる参照変数を渡しています)。値渡しされるのはintのようなプリミティブ型だけです。

+0

[OK]を、私は編集よ... "すべてのオブジェクトは単なる参照である" が、 –

+0

"すべてのオブジェクト変数は単なる参照である" 同意することができますに同意することはできませんそれ。 –

+0

私はあなたの答えが誤解を招いている、あなたはプリミティブだけが価値によって渡されると言った。オブジェクトインスタンスへの "参照"は値渡しです。あるいは、メソッド内のパラメーターをその参照に再インスタンス化することができます。この主題は完全な説明が必要です。 – AxelH

0

Javaは参照によってオブジェクトを操作し、すべてのオブジェクト変数は参照です。しかし、Javaはメソッド引数を参照渡ししません。それは価値によってそれらを渡します。

Source

How to do the equivalent of pass by reference for primitives in Java

Possible Duplicate

+0

さて、あなたは重複を指すようにコメントを投稿することができます(または可能であれば質問にフラグを立てます)。これについて新しい質問スレッドを再作成する必要はありません。 (特に+4500アップフォートの質問がある) – AxelH

関連する問題