编程语言
首页 > 编程语言> > java – 匿名类的对象类型是什么

java – 匿名类的对象类型是什么

作者:互联网

请查看下面的Java类:

 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个课程,如上所示.如果我要做以下(匿名课程)

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

我是否在创建B的新子类?或者它是B的一个实例?

我知道我可以将匿名实现分配给B或A.我不确定是在创建的匿名类的实例上.更多关于Java所做的事情,而不是任何实际目的.我不知道如何让这个匿名内部类的类对象使用一些反射API并自己解决.

解决方法:

您正在创建B类的匿名子类的实例.

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是B类所在的包.

标签:java,anonymous-class
来源: https://codeday.me/bug/20190823/1697918.html