【すべてのスーパークラスObject】
【キャスト演算子による型変換】
・スーパークラスが指定されていないクラスは,すべて
ObjectというJavaにもともと備わっている特別なクラスのサブクラスとなる(下図List11, Fig.4, 5)。
※つまり,Javaのプログラムに登場するすべてのクラスは,直接的にもしくは間接的に,Objectクラスのサブクラスということになる。
※Objectクラスは,Javaにおけるすべてのオブジェクトが持っているべき機能(フィールドやメソッドなどのメンバ)を定義しているクラスである。
したがって,JavaのクラスはすべてObjectクラスから様々な機能を継承して持っていることになる。
・いままで学習してきたように,サブクラス(のオブジェクト)は,スーパークラス(のオブジェクト)として扱われる。
言い方を変えると,Javaのシステムでは,サブクラス(のオブジェクト)は,スーパークラス(のオブジェクト)に自動で変換される,ということである。
あまり良い作法とは言えないが,いったんスーパークラス(のオブジェクト)に変換された値を,キャスト演算子という演算子によって無理矢理サブクラス(のオブジェクト)に変換することも可能である(下図Fig.6,7)。
List 11