
今回は…
というテーマでお送りします。
今回から、Java入門 の最終コースです。
一区切りとなる部分です。引き続き、楽しんで学んでいきましょう。

頑張ります。よろしくお願いします。

このコースも、張り切ってやっていきます。
よろしくお願いします。
【1】JavaAPI

JavaAPIとは、Javaプラグラムで
利用できるクラスを まとめたもので…
JDK に用意されています。
そして、Java標準クラスライブラリとも
言われています。
この API(Application Program Interface)は…
外部のソフトウェアが持つ機能を
利用できる仕組みのことですので…
JavaAPI は Javaの機能を利用できる仕組み
ということになります。
まとめたもので JDK に用意されている。
✅ Java標準クラスライブラリとも言う。
✅ API(Application Program Interface)は
外部のソフトウェアが持つ機能を
利用できる仕組みのこと。
APIのイメージは、こんな感じです。
アプリケーションプログラムがあります。

これは、特定の目的のために作られたプログラムで…
売上管理する。表計算する。…
といった目的があるプログラムです。
これに対して、ライブラリ(機能群)があります。

こちらは、アプリケーションプログラムから
使われる前提で作られています。
それ単体では、特定の目的がありません。
この時に、ライブラリの機能に対して…
と定めてあるものが
API(Application Program Interface) です。

これにより、アプリケーションプログラムは
ライブラリの機能を 利用することができるのです。

JavaAPIの場合のライブラリの最小単位は、クラスです。
そのクラスが、パッケージ単位でまとめられています。

更に、パッケージが
モジュールという単位で区切られています。
このように形作られた…
Java標準ライブラリのクラス数は 数千個に及びます。

多くのクラスを活用できる事になりますね。
そして、基本になるモジュールは
java.base モジュールです。
java.base に含まれる
代表的なパッケージを見てみましょう。

超基本的なクラス群の java.lang パッケージ。
Javaプログラミングを便利にする java.util パッケージ。
数値の計算などに関するパッケージの java.math 。
ネットワーク関連の java.net パッケージ。
java.io パッケージは
ファイルの読み書きなどに関連しています。
Java超入門から利用してきた…
Stringクラス
Integer.parseInt()
なども…
JavaAPI の仕組みで呼び出せる機能の1つなんです。
私たちは、Java基本文法を学びました。
そして、オブジェクト指向を学んだので…
クラスをインスタンス化する方法も知っています。
そして、インスタンスのメンバ(フィールド・メソッド)や
クラスのメンバに アクセスする方法も 学んできました。
ですので、API(どんなクラスがあって、どんなメンバがあるか)
が分かれば、充分に活用できることになります。


Javaプログラムの世界が広がりそうですね。

どうしたら良いでしょうか。

JavaAPIの詳細を調べたい時の方法については
次のコーナーで見ていきましょう。
【2】JavaAPIドキュメント

JavaAPIの詳細を調べるために
JavaAPIドキュメントが準備されています。
https://www.oracle.com/jp/java/technologies/documentation.html
このページで、対象のバージョンのドキュメントを
調べる事ができます。

【3】java.lang.Object

私たちは、継承の勉強をした時に…
全てのクラスのスーパークラスは
java.lang.Object クラス… ということを学びました。

Javaでクラスを作成する時に、クラスを継承する記述を
しなくても、自動的にjava.lang.Object を継承しますし…
あるクラスを継承していても、それらのクラスは…
元を辿ると java.lang.Object クラスを継承することに
なるのです。


java.lang.Object が存在するのでしょう。

では、java.lang.Object が存在する意味を
考えてみましょう。
クラスには、基本的に備えておいたほうが良い
メソッドが、いくつかあります。
例えば、インスタンス同士が「同じ」かどうか
判断する
インスタンスを 文字列で表現する
があります。

今回は toString() を考えてみましょう。
このように、基本的に備えておいたほうが良いメソッドを
java.lang.Object に定義して、まとめておきます。
そして、各クラスが必ずこの java.lang.Object を
継承するようにしておくのです。

そうすると、クラスを利用する側は
まず、クラスをインスタンス化すれば…
toString() メソッドは必ず存在するので、クラスの種類に
関係なく 利用することが できるようになります。

そして、クラスを作る側は必要に応じて…
メソッドを オーバーライドして
作っておくこともできます。

このように、オーバーライドしておくと…
その オーバーライドされた toString() が
実行されることとなるのです。
利用する側が toString() を呼び出した時に…
オブジェクトによって最適な toString() が
実行される状態ですね。

ここで、ポリモフィズム(多態性)が
活用されることとなるのです。


【まとめ】

まとめたもので JDK に用意されている。
✅ Java標準クラスライブラリとも言う。
✅ インターネットで閲覧できる。
✅ 基本的なメソッドが準備されている。
✅ 継承することで、メソッドを
オーバーライドすることができる。
今回も、ご覧いただき、ありがとうございます。