Anonymous Inner Classes - Anonymous Inner Classes tutorial
2006/06/22
2006/11/26
下記のリンクをみていてちょっとインスパイアされた。
Anonymous Inner Classes - Anonymous Inner Classes tutorial
まさか、そういった現場はないと思うけど、あるクラスの指定されたメソッドだけしか実装してはいけないというルールをつきつけられても、その中で、クラス定義して、内部匿名クラスを使って、なんとかがんばれるかもしれない。。。
public static void print(){
class MyPrintLogic {
public String print(){
return "";
}
};
MyPrintLogic myPrintLogic = new MyPrintLogic(){
@Override
public String print() {
return "override.";
}
};
System.out.println(myPrintLogic.print());
}
さらに匿名クラスに新しくメソッドを追加して実行してみる。
使いずらい。
#注目してもらいたところだけ色を変えている。
public static void test() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
class A {
};
A a = new A(){
public void b(){
System.out.println("i am a.");
}
};
Method f = a.getClass().getDeclaredMethod("b", null);
f.invoke(a, null);
}
Anonymous Inner Classes - Anonymous Inner Classes tutorial
まさか、そういった現場はないと思うけど、あるクラスの指定されたメソッドだけしか実装してはいけないというルールをつきつけられても、その中で、クラス定義して、内部匿名クラスを使って、なんとかがんばれるかもしれない。。。
public static void print(){
class MyPrintLogic {
public String print(){
return "";
}
};
MyPrintLogic myPrintLogic = new MyPrintLogic(){
@Override
public String print() {
return "override.";
}
};
System.out.println(myPrintLogic.print());
}
さらに匿名クラスに新しくメソッドを追加して実行してみる。
使いずらい。
#注目してもらいたところだけ色を変えている。
public static void test() throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
class A {
};
A a = new A(){
public void b(){
System.out.println("i am a.");
}
};
Method f = a.getClass().getDeclaredMethod("b", null);
f.invoke(a, null);
}
: