変数に格納
次のようにインターフェースを型として変数を定義できます。
6 |
Curve cur; |
この変数に格納できるのは、インタフェースを利用しているクラスのインスタンスです。
6 7 8 |
Curve cur; Child ch = new Child(); cur = ch; |
この変数を利用して、インタフェースで定義したメソッド、定数を扱うことができます。
6 7 8 9 10 |
Curve cur; Child ch = new Child(); cur = ch; cur.curve01(); System.out.println(cur.PI); |
なにが便利?
インタフェースに宣言したメソッドを変数を通して利用できますので、メソッドの処理をダイナミックに変更できます。
例えばインタフェースに定義したメソッドchanelUPをクラスA,クラスBにそれぞれ実装します。このクラスA,Bのインスタンスをインタフェースの変数に格納することにより、同じ処理名chanelUPでもクラスA,Bの実装により処理を変えることができるのです。