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