package com.logicbig.example.method;
import java.lang.reflect.Method;
public class GetDeclaringClassExample {
private void process() {}
public static void main(String... args) throws NoSuchMethodException {
Method m = GetDeclaringClassExample.class.getDeclaredMethod("process");
Class<?> declaringClass = m.getDeclaringClass();
System.out.println(declaringClass);
}
}
Output
class com.logicbig.example.method.GetDeclaringClassExample
package com.logicbig.example.method;
import java.lang.reflect.Method;
public class GetDeclaringClassExample2 {
public static void main(String... args) throws NoSuchMethodException {
//an anonymous class
Runnable r = new Runnable() {
@Override
public void run() {
}
public void anotherMethod() {}
};
Method m = r.getClass().getDeclaredMethod("anotherMethod");
System.out.println(m);
System.out.println(m.getDeclaringClass());
}
}
Output
public void com.logicbig.example.method.GetDeclaringClassExample2$1.anotherMethod()
class com.logicbig.example.method.GetDeclaringClassExample2$1