繁体   English   中英

如何从抽象类中实现的方法获取类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM