是否可以在使用反射时创建匿名类?

Mat*_*att 7 java reflection anonymous-class

我希望能够在对象运行初始化程序之前在运行时实现一个方法.这将允许我设置初始化期间使用的字段.

这是一个例子:

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];
      }
    };
  }
}
Run Code Online (Sandbox Code Playgroud)

我可能最终会使用方面,但我想知道是否有纯Java方式.

use*_*421 1

你的意思是这样的假设它会编译(但它不会):

@Override
A a = aClass.newInstance()
{
  public void initialize() {
        this.message = args[1];
      }
};
Run Code Online (Sandbox Code Playgroud)