※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

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 1 ,...,F n >が与えられた時、引数付き型C<T 1 ,...,T n >の直接スーパータイプは以下の通りです。:
  • Cの直接スーパータイプ。
  • Cの直接スーパーインタフェース。
  • Object型、もしCがインタフェース型で直接スーパーインタフェースを持たない場合。
  • 未加工型C。

T i (1≦i≦n)をある型とすると、引数付き型C<T 1 ,...,T n >の直接スーパータイプは以下の全てです。:

  • D<U 1 θ,...,U k θ>、ここでD<U 1 ,...,U k >はC<T 1 ,...,T n >の直接スーパータイプでありθは[F 1 :=T 1 ,...,F n :=T n ]の代用です。
  • C<S 1 ,...,S n >、ここでS i はT i (1≦i≦n)を含みます(4.5.1.)。

ここで少なくとも1つのR i (1≦i≦n)がワイルカード型実引数とすると、引数付き型C<R 1 ,...,R n >の直接スーパータイプは、C<R 1 ,...,R n >へ捕捉変換をかけた結果であるC<X 1 ,...,X n >の直接スーパータイプです。

交差型T 1 &...&T n の直接スーパタイプはT i (1≦i≦n)です。

型実引数の直接スーパタイプはその制限にリストされた型です。

型変数はその最も低い制限の直接スーパータイプです。

ヌル型の直接スーパータイプはヌル型を除くすべての参照型です。

4.10.3. 配列型間の型のサブタイプ化

4.11. 型の使用箇所

4.12. 変数