「4.10.2. クラスやインタフェース型間の型のサブタイプ化」の編集履歴(バックアップ)一覧はこちら
「4.10.2. クラスやインタフェース型間の型のサブタイプ化」(2012/09/10 (月) 17:28:39) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**[[4.6. 型の抹消]]
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**[[4.10. 型サブタイプ化]]
***[[4.10.1. プリミティブ型間の型のサブタイプ化]]
***4.10.2. クラスやインタフェース型間の型のサブタイプ化
ジェネリック型宣言C<F&sub(){1},...,F&sub(){n}>が与えられた時、引数付き型C<T&sub(){1},...,T&sub(){n}>の直接スーパータイプは以下の通りです。:
-Cの直接スーパータイプ。
-Cの直接スーパーインタフェース。
-&tt(){Object}型、もしCがインタフェース型で直接スーパーインタフェースを持たない場合。
-未加工型C。
T&sub(){i}(1≦i≦n)をある型とすると、引数付き型C<T&sub(){1},...,T&sub(){n}>の直接スーパータイプは以下の全てです。:
-D<U&sub(){1}θ,...,U&sub(){k}θ>、ここでD<U&sub(){1},...,U&sub(){k}>はC<T&sub(){1},...,T&sub(){n}>の直接スーパータイプでありθは[F&sub(){1}:=T&sub(){1},...,F&sub(){n}:=T&sub(){n}]の代用です。
-C<S&sub(){1},...,S&sub(){n}>、ここでS&sub(){i}はT&sub(){i}(1≦i≦n)を含みます([[4.5.1.>4.5.1. 型実引数とワイルドカード]])。
ここで少なくとも1つのR&sub(){i}(1≦i≦n)がワイルカード型実引数とすると、引数付き型C<R&sub(){1},...,R&sub(){n}>の直接スーパータイプは、C<R&sub(){1},...,R&sub(){n}>へ[[捕捉変換>5.1.10. 捕捉変換]]をかけた結果であるC<X&sub(){1},...,X&sub(){n}>の直接スーパータイプです。
交差型T&sub(){1}&...&T&sub(){n}の直接スーパタイプはT&sub(){i}(1≦i≦n)です。
型実引数の直接スーパタイプはその制限にリストされた型です。
型変数はその最も低い制限の直接スーパータイプです。
ヌル型の直接スーパータイプはヌル型を除くすべての参照型です。
***[[4.10.3. 配列型間の型のサブタイプ化]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
*[[4. 型と値と変数]]
**[[4.1. 型と変数の種類]]
**[[4.2. プリミティブ型と値]]
**[[4.3. 参照型と値]]
**[[4.4. 型変数]]
**[[4.5. 引数付き型]]
**[[4.6. 型の抹消]]
**[[4.7. 具象可能型]]
**[[4.8. 未加工型]]
**[[4.9. 交差型]]
**[[4.10. サブタイプ化]]
***[[4.10.1. プリミティブ型間の型のサブタイプ化]]
***4.10.2. クラスやインタフェース型間の型のサブタイプ化
ジェネリック型宣言C<F&sub(){1},...,F&sub(){n}>が与えられた時、引数付き型C<T&sub(){1},...,T&sub(){n}>の直接スーパータイプは以下の通りです。:
-Cの直接スーパータイプ。
-Cの直接スーパーインタフェース。
-&tt(){Object}型、もしCがインタフェース型で直接スーパーインタフェースを持たない場合。
-未加工型C。
T&sub(){i}(1≦i≦n)をある型とすると、引数付き型C<T&sub(){1},...,T&sub(){n}>の直接スーパータイプは以下の全てです。:
-D<U&sub(){1}θ,...,U&sub(){k}θ>、ここでD<U&sub(){1},...,U&sub(){k}>はC<T&sub(){1},...,T&sub(){n}>の直接スーパータイプでありθは[F&sub(){1}:=T&sub(){1},...,F&sub(){n}:=T&sub(){n}]の代用です。
-C<S&sub(){1},...,S&sub(){n}>、ここでS&sub(){i}はT&sub(){i}(1≦i≦n)を含みます([[4.5.1.>4.5.1. 型実引数とワイルドカード]])。
ここで少なくとも1つのR&sub(){i}(1≦i≦n)がワイルカード型実引数とすると、引数付き型C<R&sub(){1},...,R&sub(){n}>の直接スーパータイプは、C<R&sub(){1},...,R&sub(){n}>へ[[捕捉変換>5.1.10. 捕捉変換]]をかけた結果であるC<X&sub(){1},...,X&sub(){n}>の直接スーパータイプです。
交差型T&sub(){1}&...&T&sub(){n}の直接スーパタイプはT&sub(){i}(1≦i≦n)です。
型実引数の直接スーパタイプはその制限にリストされた型です。
型変数はその最も低い制限の直接スーパータイプです。
ヌル型の直接スーパータイプはヌル型を除くすべての参照型です。
***[[4.10.3. 配列型間の型のサブタイプ化]]
**[[4.11. 型の使用箇所]]
**[[4.12. 変数]]
表示オプション
横に並べて表示:
変化行の前後のみ表示: