我希望能够在运行时实现一个在对象运行初始化程序之前调用的方法。这将允许我设置在初始化期间使用的字段。
这是一个例子:
class A {
public A() {
initialize();
}
public void initialize() { }
}
class B extends A {
public String message;
{
System.out.println(message);
}
}
public class MainClass {
public static void main(final String[] args) throws Exception {
Class<A> aClass = (Class<A>)Class.forName(args[0]);
// what's next in order to something like this even though
// I don't know what subclass of A was passed in as an
// argument above
A a = aClass.newInstance()
{
public void initialize() {
this.message = args[1];
}
};
}
}
我可能最终会使用方面,但我想知道是否有纯 Java 方式。