• ベストアンサー

JavaでのAPIの覚え方ってみさなんどうされてますか?

初めまして。最近Javaを勉強し始めたんですが、 友人に聞いたところ短期間にJavaが理解出来るコツは 『Java (TM)2 SDK ドキュメント(API仕様)』を読みながら 次の順番でサンプルを作りながら主要なパッケージを覚えて行けばいいんじゃない? と言われました。 (1)JAVA.LANG (2)JAVA.IO (3)JAVA.UTIL (4)JAVA.NET (5)JAVA.TEXT (6)JAVA.STRING (7)JAVA.MATH 必死でメソッドやインターフェース等のサンプルを作っている所なのですが、 同じような単語があったり、継承関係が複雑だったり。。。 頭の中で整理出来ず、ただ闇雲にやっているだけのような感じがしてきました。 皆さんはどのような工夫や方法でAPIを覚えて行きましたか? 是非ご回答の程お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neuron-x
  • ベストアンサー率52% (139/266)
回答No.4

JavaのAPIを覚えることは、そんなに重要ではありません。 一番大切なのは、必要なときにAPIを調べて実際に使えるかどうかですね。(慣れてくると、よく使うAPIは覚えてしまいます) あとは、Javaの言語仕様を理解することでしょうか。言語仕様は、SUNのSJC-Pなどの試験の問題集などを見るのが一番良いと思います。 Javaを覚える上でのポイントは、 (1)APIは覚える物ではなく、必要なときに調べられる事。 (2)Javaの言語仕様を理解すること。 (3)オブジェクト指向を理解すること… こんな感じだと思います。 更に、効率的な設計を行いたければ、デザインパターンなどを勉強すると良いでしょう。

takikisugi
質問者

お礼

返事が遅れまして申し訳ありませんでした。 ご回答ありがとうございました。 APIを覚えるよりも、いろんなプログラムを作ってみる。 その過程でAPIを使えばいい。僕はこのように解釈致しました。 APIドキュメントが目移りしていた僕にとっては精神的にかなり楽になりました。 アドバイスを頂きましてありがとうございました。

その他の回答 (3)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.3

私も同じく、いちいちそんなもの覚えません。 必要時に見るだけです。 Javaの文法やオブジェクト指向について理解できたなら、「Java言語で学ぶデザインパターン入門(著・結城浩)」がお勧めです。Javaのソースによるサンプルを交えながらオブジェクト指向プログラムの書き方を覚えられるので良い勉強になると思います。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4797316462/250-1232543-3778649
takikisugi
質問者

お礼

返信が遅れて申し訳ありませんでした。 回答頂きましてありがとうございました。 是非、薦めて頂いた本を参考に読んでみようかと思います。 ありがとうございました。

  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

API なんか覚えてません。API を覚えることが重要なんじゃなくて必要な機能を API の中から探し出す能力を身につけることが重要です。そうじゃないと、自分の知らない機能を使おうとしても何もできなくなってしまいます。 API の中でも特に重要なものは実際にプログラムを作るときに何度も使うので自然に覚えられます。 それに、API を使ってサンプルを作るだけじゃ Java 言語の「理解」はできません。理解するにはできる限り API に頼らずに自分で作ることが大切です。 クラスの仕組みなどを理解しないうちに API を使いまくると、API がただの便利なブラックボックスと化してしまう恐れがあります。 クラスの継承の仕方とか四つのアクセス権の違いとか、そういう文法的なことを身につけてから、実際にそれらが API でどのように使われているかを見ていくのがいいと思います。

takikisugi
質問者

お礼

返信が遅れて申し訳ありませんでした。 また、回答頂きましてありがとうございました。 APIよりもJava言語仕様を理解していく方が、 効率が良くスムーズに勉強が出来ると思うようになりました。 アドバイスありがとうございました。

  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

覚えてません。 いまだにAPIドキュメントを見ます。 ブラウザのブックマークに入れて。 (高速化のため、ダウンロードしてHDDの中に入れてます) 基本的には、「オブジェクト指向」なので、 「関連するメソッドはクラスの中にある」 と考えます。 Stringクラスに何メソッドがあるか…ということは覚えません。 「とにかく関係するメソッドはその中にあるだろう」 との見当で、クラスを開いてメソッドを探します。 そうはいっても、java.ioなどはたしかに複雑で、 使いこなせないこともあろうかと思います。 これはやはり、多少の金を掛けても参考書を買って読むのが近道だと思います。 IOについて簡単に言うと、あそこにあるクラスはだいたい4種類に分類されます。 ・バイナリ入力 ・バイナリ出力 ・テキスト入力 ・テキスト出力 そしてそれぞれに対して、「ファイルとつなげる」 「他のストリームとつなげる」「メモリとつなげる」 などの種類があります。 たとえばjava.utilにあるコレクションクラスは 「setの仲間」と「Listの仲間」がに分かれます。 setの仲間は、要素が重複しないもの。 Listの仲間は、同じ要素が何回も出てくる(可能性がある)もの。 というふうに単純化して覚えます。 Listの仲間にはArrayListとかLinkedListなどありますが、 対して変わりないので、好きな方を使ってかまいません。 「継承関係が複雑」と思わず、 「継承関係によって分類されている」と考えれば多少覚えやすくなるのではないでしょうか?

takikisugi
質問者

お礼

返信が遅れて申し訳ありませんでした。 また、回答頂きましてありがとうございました。 回答を読んで、今までAPIに拘りすぎていたような気がしてきました。 APIを覚える事に越したことはありませんが、 『こんな感じのものがあったな~』という程度で抑えておいて、 Javaの言語仕様を十分理解出来るように努力したいと思いました。 ありがとうございました。

関連するQ&A