2009-04-27 3 views
0

私は、Javaの問題のリストを追い求めていますが、その違いを理解することなく正しく理解することはできません。例えばJavaの参照型とプリミティブ型の違いを理解することが重要なのはなぜですか?

  • は、変数宣言の「最終的な」使用によって課されるものの制限正確方法
  • にパラメータを渡します。どれより

を意味何==

  • EDIT:この質問は人には意味がないようです。

    Set<Thing> set = new Set<Thing>(); 
    

    int i = 1; 
    

    明らかではなかった。その背後にある動機は、Javaを学ぶ初心者としての私の経験は、例えば、間の差があることだったということです。今すぐあなたがJavaを選んだら、それを当然受け取り、それについて考えることはしませんが、初心者が苦労していること、特にプログラミングの背景から来ていない場合は、私はそれを維持しています。私は、Javaを教えるときにしばしば取り組む必要があると思う。

    編集:まだ良くありません。自由に閉じることができます。

  • +1

    あなたの件名があなたの質問内容と一致するとは思いませんか? –

    +0

    パラメータの受け渡し - doSomething(List list、int i)などの呼び出しの影響を理解するためには、違いを知る必要があります。最終的な - あなたは最終的なセットセット= SetMakerを理解するために違いを知る必要があります。 (1,2,3)のは、setに常に1,2,3が含まれているわけではありません。なぜなら、なぜequals()を使用するのか、また使用するべきか使用しないのかを理解することが必要です。 –

    +0

    それでも、問題の主題が求めていることには合わないようです。 – hbw

    答えて

    2

    私は最も重要な点は、Javaの参照にはオブジェクト自体は含まれておらず、実際のobjet自体にはアドレス(またはポインタなど)が含まれていることを理解することだと思います。 - のみが参照する

    1. (変数に格納される)参照
    2. 変数に格納することはできませんオブジェクト(:したがって、あなたが常に2つのものを持っていることを理解することが重要です参照)

    このキーコンセプトを理解すれば、==のようなものは理解しやすくなります。なぜなら、参照とオブジェクトを比較していることだけがわかっているからです。

    要約:オブジェクトを使用する方法を教える前に、オブジェクトとその参照の違いについて説明します。

    +0

    私は、用語「オブジェクト識別子」を好む。オブジェクトを識別するために参照内に格納されたビットパターンは、通知なしに任意の時点で任意に変更できますが、参照が上書きされるか存在しなくなるまで、常に同じオブジェクトを参照します。 – supercat

    0

    あなたの質問は次のようなものだと思います - Javaの機能を他の人に説明する場合は、説明を良くするために他の機能と比較する必要があります。例えば、

    == Vs。等しい()

    私が考えるその方法 -

    • 静的

    非同期Vsは同期クラス

  • 対インタフェース
  • 非静的Vsが、これはあなたが探して何ですか?

  • 0

    私はBenedikt Egerに、参照とオブジェクトの関係が理解するために最も重要な概念であることに同意します。

    あなたの問題のリスト: "="演算子は、初心者にはプリミティブを "コピー"してオブジェクトを "共有"するように見えるので、人に混乱を招くことがあります。 "="はになりません。はオブジェクトをコピーします(Javaはオブジェクトをスタックに配置しません)ので、これはC++よりもJavaの問題のほうがはるかに少なくなります。しかし、私は初心者の方に "="見送りを見てきました。特に、 "="は配列の重複コピーを作成すると思っています。

    関連する問題