|
||||||||||||||||||||||
|
スーパータイプ バウンド前回、サブクラスをワイルドカードで指定する方法を説明しました。 この他、Java にはスーパークラスをワイルドカードで指定する方法もあります。 すなわち、「このクラスのスーパークラスなら何でも」という指定方法です。 この場合は、次のようにワイルドカード (?) と super というキーワードで表現します。 <? super クラス名> この方法ではクラス階層の上方への型指定、すなわち「スーパークラス」の指定となるので、スーパータイプ バウンド (supertype bound) という言い方をします。 図でまとめてみようさて、extends、super によるワイルドカード指定について図であらわして、理解を確認しましょう。 次のようなクラス階層があったとします。(かなり大雑把ですが・・・)
そこで、この時に <? extends "PC Device"> に含まれるクラスは以下の緑で塗りつぶしたクラス全部です。
一方、スーパーバウンドによる指定は情報へクラス階層のツリーを登りますから、
このように、クラスツリーの上方にも下方にも型を指定することが可能です。 |
|
© 2010 Java 入門 |
|||||||||||||||||||