[英]How to get class from the method implemented in abstract class
假设我有一个Abstract类,如下所示:
public abstract class Abstract{
public void mymethod() {
}
}
和一个实现它的类:
public class Implementation extends Abstract {
}
我正在从实现类调用mymethod并对其进行检查:
method.getDeclaringClass()
.getDeclaredConstructor().newInstance();
由于Declaring类是抽象类,因此无法实例化,因此失败。 我试图弄清楚如何检索调用类。
不要使用声明类,请使用实际的类:
this.getClass()
工作正常。
Class<Implementation> im = Implementation.class;
Method[] m = im.getMethods();
Object o = m[0].getDeclaringClass().getDeclaredConstructor().newInstance();
System.out.println(o.getClass());
版画----
class com.<package>.Implementation
您可以循环打印方法,我刚刚粘贴了第一种方法m [0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.