参照型に関する暗黙的な型変換は通常、次のような形式による代入処理に行われる:
ソース型 s = new ソース型();
ターゲット型 t = s; // ソース型からターゲット型への暗黙的な型変換
オブジェクト参照の暗黙的な型変換が行われるルール:
・クラスの型変換は、次のいずれかの条件が成立する場合に限る。
- 変換先のクラス型が変換元のクラス型のスーパークラスである
- 変換先のインタフェース型のインタフェースを変換元のクラス型のクラスが実装している
・インタフェースの型変換は、次のいずれかの場合に行える。
- 変換先のクラス型がObjectクラスである
- 変換先のインタフェースの型が変換元のインタフェース型のスーパーインタフェースである
・配列の型変換は次のいずれかの場合に行える。
- 変換先のクラス型がObjectクラスである
- 変換先のインタフェースの型がCloneableインタフェースあるいはSerializableインタフェースである
- 変換元の配列要素のデータ型と変換先の配列要素のデータ型において、型変換のルールに従っている