Java FAQ:Class.forName() で取得したクラスのメソッドを呼び出す
Java FAQ:S011 Q-21
基本的にまんま
interface C2008050201 { abstract void foo(int x); } class C2008050202 implements C2008050201 { public void foo(int x) { System.out.println("foo: " + x); } } public class C2008050200 { public static void main(String[] args) { try { Class targetClass = Class.forName("C2008050202"); C2008050201 targetInstance = (C2008050201)targetClass.newInstance(); targetInstance.foo(100); } catch (ClassNotFoundException e) { } catch (InstantiationException e) { } catch (IllegalAccessException e) { } } }
で、
foo: 100
「abstract Foo {」は「abstract class Foo {」じゃなきゃダメ?