Java awtの継承関係の説明

継承によるクラスの整理とJava API

それぞれ,ウィンドウとボタンの雛形となる,awtパッケージのFrameクラスとButtonクラスのメンバーには,共通のsetLocation,setSizeメソッドがあります。これらは,Frameクラス,Buttonクラスのスーパークラス

のうち,共通のComponentクラスで定義されています。これは,FrameもButtonも位置や大きさのある部品 (Component)であるとして,継承関係によってクラスを整理しているからです。

一方,Frameクラスにボタンを載せるために使うaddメソッドは,Containerクラスで定義されています。コンテナとは,部品を載せることのできるコンテナという考え方です。Frameはコンテナですが,ボタンは部品を載せないのでコンテナではなく,addメソッドはありません。

Javaで用意されているクラスJava API❏は,このように継承関係で整理されています。そして,全てのクラスのスーパークラスとして,Objectクラスが定義されています。したがって,全てのクラスはObjectクラスなので,例えば,どんなクラスのオブジェクトもObjectクラスの変数に代入できるし,Objectクラスとして等しいかどうか比較できます。

解説ムービー