匿名的对象类型是什么 class

What is the object type of an anonymous class

请看下面的Javaclass:

 class A {
   public void doProcess(){
      System.out.println("Process from A class!");
   }
 }

 class B extends A {
   @Override
   public void doProcess(){
      System.out.println("Process from B class!");
   }
 }

我有 2 个 class 如上所示。如果我要执行以下操作(匿名 class)

 new B() {
   @Override
   public void doProcess(){
      System.out.println("Process from Anonymous class");
   }        
 }

我是在创建 B 的新子 class 吗?还是B的一个实例?

我知道我可以将匿名实现分配给 B 或 A。我不确定的是创建的匿名 class 实例。更多关于 Java 做什么的好奇,而不是出于任何实际目的。我不知道如何让这个匿名内部 class 的 class 对象使用一些反射 API 并自己弄清楚。

您正在创建 class B 的匿名子 class 的实例。

B b = new B() {
   @Override
   public void doProcess(){
      System.out.println("Process from Anonymous class");
   }        
}
System.out.println (b.getClass ().getSuperclass ());

这将打印

class some.package.B

其中 some.package 是 class B 所在的包。