我需要在一个已经调用方法
的重叠方法中获取类的名称怎么做?
答案 0 :(得分:3)
Throwable t = new Throwable();
StackTraceElement[] elements = t.getStackTrace();
Class StackTraceElement has various methods like
String calleeMethod = elements[0].getMethodName();
String callerMethodName = elements[1].getMethodName();
String callerClassName = elements[1].getClassName();
答案 1 :(得分:3)
您可以使用this.getClass()
在方法中获取当前对象的类,或使用Thread.currentThread().getStackTrace()
来遍历调用路径。
答案 2 :(得分:2)
你可以通过以下方式获得课程:
class.getMethod("your_over-ridden_method_name").getDeclaringClass();
例如:
System.out.println(class.getMethod("your_over-ridden_method_name") + " declared by " + class.getMethod("your_over-ridden_method_name").getDeclaringClass());