「Java入門」インターフェース多態性(ポリモフィズム)を使うサンプル
書式
メソッド名(インタフェースの型 変数名)
変数名:クラスのインスタンス
使用例
1.インターフェースの定義
package com.arkgame.study;
public interface InterDemo {
// 抽象メソッド
void testFunc();
}
2.インターフェースを実装
package com.arkgame.study;
import java.util.ArrayList;
// TestAクラスでインターフェースを実装
class TestA implements InterDemo {
@Override
public void testFunc() {
System.out.println("class TestA 1001");
}
}
//TestBクラスでインターフェースを実装
class TestB implements InterDemo {
@Override
public void testFunc() {
System.out.println("class TestB 2002");
}
}
//TestCクラスでインターフェースを実装
class TestC implements InterDemo {
@Override
public void testFunc() {
System.out.println("class TestC 3003");
}
}
public class PolymorphismDemo {
// 共通の関数を呼び出す
static void RunInterFunc(InterDemo id) {
id.testFunc();
}
public static void main(String[] args) {
// インスタンスをリストに追加
ArrayList<InterDemo> interLst = new ArrayList<>();
interLst.add(new TestA());
interLst.add(new TestB());
interLst.add(new TestC());
//リストの要素(インターフェース)をループする
for (InterDemo kk : interLst) {
RunInterFunc(kk);
}
}
}
3.実行結果
class TestA 1001
class TestB 2002
class TestC 3003