JavaAPIについて

JavaAPIの見方、使い方について。

APIのページは、基本的なパッケージに入っているクラスなどの説明が記載されている。これを見れば使ったことのないクラスでも使えるということになっているが最初は全然どこを見ればなにがわかるのかわからない。

おそらくAPIのページは、外国語で書かれた文書を読む時の辞書のようなものだと思う。最初のうちは他人の書いたコードを読んで真似をして勉強していくと思うけど、知らない単語が出てきたときにひくのがこのAPIだ。

APIを見る前に、わからない単語がでてきたらそれがどういう種類のものなのかを見分けられるようにする。
クラス。メソッド。変数。オブジェクト名。この4つがよくでてくるのでこれを確実に見分けられるようにする。外国語の文書で言えば、動詞と名詞と形容詞なんかをまず見分けられるようにするという感じ。

たとえば
abcd efg = new abcd();
というコードがあれば、よくわからないけどこのabcdというのはたぶんクラスの名前だ。efgという名前でオブジェクト化されている。

abcd efg = hijk;
この場合はおそらくefgは変数名で、abcdは変数の宣言だ。intなどの基本形かもしれないし参照型のオブジェクト名かもしれない。とにかくefgは変数だ。

abcd efg = hijk.lmno();
この場合は直前に「.」があって後ろに「()」がついているのでlmnoはメソッドだ。メソッドの前についているということはhijkはクラス名。それかインスタンス化されたオブジェクト名かもしれない。
とにかくefgの中にはlmnoのメソッドからの戻り値が入っているということは間違いない。abcdは変数の宣言だ。
hijkがオブジェクト名であるかどうかは、同じクラスの中でnewされているかを調べればわかる。newされていない場合はstaticメソッドが考えられる。staticメソッドはインスタンス化されていなくても使える。Integer.parseIntみたいなかんじで。
この行はabcd型でefgを定義しつつ、efgにhijkクラスのlmnoメソッドの戻り値を入れる。というふたつのことを同時に行っている。

ややこしいのはこの三つ目のパターンで、abcdがインターフェイスの場合なんかもあってたぶんこれが山場。とりあえずここまで理解した。