ネタ心者歓迎! 今更ながらにJava相談室
■ このスレッドは過去ログ倉庫に格納されています
0342デフォルトの名無しさん
NGNGコレでも出来る。
場合によってはCのmethodの処理をAB,ACの中に記述したほうが幸せかもしれないけど。
-------------------------------------------
abstract class A {abstract void call(C c);}
class AB extends A {
void call(C c) {c.method(this);}
}
class AC extends A {
void call(C c) {c.method(this);}
}
class C {
void method(AB typeAB) {
System.out.println("method(AB)");
}
void method(AC typeAC) {
System.out.println("method(AC)");
}
public static void main(String[] args) {
A[] arrayA = {new AB(), new AC()};
C c = new C();
for (int i = 0; i < arrayA.length; i++) {
arrayA[i].call(c);
}
}
}
■ このスレッドは過去ログ倉庫に格納されています