締切済み

Javaを勉強しています。

  • 暇なときにでも
  • 質問No.7335320
  • 閲覧数100
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (2/2)

現在、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();

ご教授いただけますと幸いです。
宜しくお願いいたします。

回答 (全2件)

  • 回答No.2

ベストアンサー率 61% (1597/2590)

次のリンク先では親クラスの継承(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

お礼率 100% (2/2)

ご教授いただきましてありがとうございました。
添付いただいた過去の回答も非常に参考になりました。
これからも勉強していきたいと思います。

また、別の疑問にぶち当たりましたが、、
現在調査中です。。

最後に返信が遅れ誠に申し訳ございません。
投稿日時 - 2012-03-03 15:56:09
Be MORE 7・12 OK-チップでイイコトはじまる
  • 回答No.1

ベストアンサー率 48% (325/664)

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

お礼率 100% (2/2)

回答いただきありがとうございます。

上記ご指摘いただきましてJavaを最初から見直ししていました。
#インスタンスの概念があまり理解できていなかったようです・・・

これからも勉強を続けて行きたいと思います。

最後に、返信が遅くなり申し訳ございません。。
投稿日時 - 2012-03-03 15:58:37
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ