• 締切済み

Javaを勉強しています。

現在、Javaの勉強中なので初歩的な質問ですみません。 #色々な本やググってみたのですが、未だ理解できないでいます。 Javaでは、たとえば(1)のように左辺(List)の型と右辺(ArrayList)の型が 違う場合でも問題なく使用できるようです。 (1)と(2)で何の違いがあるのか理解できておりません。 何が違うのでしょうか。 (1)List<Integer> i = new ArrayList<Integer>(); (2)ArrayList<Integer> i = new ArrayList<Integer>(); その類件としては以下があります。。 (3)Map y = new HashMap(); (4)HashMap y = new HashMap(); ご教授いただけますと幸いです。 宜しくお願いいたします。

みんなの回答

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

次のリンク先では親クラスの継承(extends)を話題にしていますが,インタフェースの実装(implements)についても同様です。 http://okwave.jp/qa/q7175470.html の私の過去の回答ANo.4, ANo.6 ということで, (1)の書き方が可能な理由は,ArrayListクラスが Listインタフェースを実装しているからであり, http://java.sun.com/javase/ja/6/docs/ja/api/java/util/ArrayList.html (3)の書き方が可能な理由は,HashMapクラスが Mapインタフェースを実装しているからです。 http://java.sun.com/javase/ja/6/docs/ja/api/java/util/HashMap.html

sarusaru1234
質問者

お礼

ご教授いただきましてありがとうございました。 添付いただいた過去の回答も非常に参考になりました。 これからも勉強していきたいと思います。 また、別の疑問にぶち当たりましたが、、 現在調査中です。。 最後に返信が遅れ誠に申し訳ございません。

すると、全ての回答が全文表示されます。
  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

うーん、大事な概念の勉強を抜かしてきたようにお見受けします。 クラスの継承と多態性について勉強または復習しましょう。

sarusaru1234
質問者

お礼

回答いただきありがとうございます。 上記ご指摘いただきましてJavaを最初から見直ししていました。 #インスタンスの概念があまり理解できていなかったようです・・・ これからも勉強を続けて行きたいと思います。 最後に、返信が遅くなり申し訳ございません。。

すると、全ての回答が全文表示されます。

関連するQ&A