気ままにSE備忘録

クラス型の変換とキャスト

最終更新:

knowledge_library

- view
メンバー限定 登録/ログイン

参照クラス型の自動型変換

  • 同じ継承ツリーの中で、サブクラスの参照をスーパークラスの変数へ代入できる
  • 継承ツリーの矢印の向きにのみ可能
  • オブジェクトは不変で元の型のままである
  • 参照がアクセスできるオブジェクトの範囲は変数の方によって決まる

アップキャスト
親クラス ←代入 子クラス ←代入 孫クラス

ダウンキャスト

継承ツリーの矢印と逆向きの代入はキャストが必要

親クラス 代入→X 子クラス 代入→X 孫クラス
(型名) xxx

instanceof

参照しているオブジェクトがどんな型なのかを知る演算子

変数 instanceof 型

引数におけるクラス型の自動型変換

メソッドの引数が参照型の場合、メソッドを呼び出す側の実引数には、指定されている型のサブクラスを使用することが出来る。
これは基本データ型の場合と同様に、実引数=>仮引数の間で自動型変換が起こるからです。

クラス型の戻り値の自動型変換

メソッドの戻り値が参照型の場合、戻り値型に指定されている型のサブクラスを返すことが出来る
ウィキ募集バナー