恒等変換と拡張参照変換の言葉の意味
Class
public boolean isAssignableFrom(Class<?> cls)
因みにこのメソッドは現在のクラスが指定されたクラス cls のスーパータイプならば true を返す。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Class.html#isAssignableFrom(java.lang.Class)
恒等変換 (Identity Conversions)
同一の型へ変換すること。これは当たり前のようだけど次の2つの実用的な意味を持つ。
- 全ての式を変換の対象とすることができ規則を簡潔に出来る
- 明示的なキャスト演算子を記述できるようになる
拡張参照変換 (Widening Reference Conversions)
これはサブタイプからスーパータイプの方向への次のような変換のこと。
- S が T のサブクラスの場合、クラス型 S からクラス型 T への変換
- S が K を実装する場合、クラス型 S からインタフェース型 K への変換
- J が K のサブインタフェースの場合、インタフェース型 J からインタフェース型 K への変換
いわゆるダウンキャストとは逆。Java言語仕様 第3版の訳本では「参照型のワイドニング変換」と呼ばれている。逆は「参照型のナローイング変換」
参考
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/reflection/spec/java-reflection.doc.html
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.1
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html#5.1.5
Java言語仕様 第3版 (The Java Series)
- 作者: ジェームズゴスリン,ガイスティール,ビルジョイ,ギッラードブラーハ,James Gosling,Guy Steele,Bill Joy,Gilad Bracha,村上雅章
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2006/12
- メディア: 単行本
- 購入: 1人 クリック: 118回
- この商品を含むブログ (44件) を見る