Java中被调用的类中的方法如何获得原调用的类的对象?

2024年11月27日 15:35
有1个网友回答
网友(1):

可以通过“Thread.currentThread().getStackTrace()”,来获得当前调用堆栈。从而获得所需要的调用类及方法。

package demo;

public class Main {

public static void main(String[] args) {
//JFinal.start("webRoot", 8080, "/");
Main m = new Main();
m.a1();
}

public void a1(){
new A().a();
}

}

class A{
public void a(){
new B().b();
}
}

class B{
public void b(){
new C().c();
}
}

class C{
public void c(){
StackTraceElement[] es = Thread.currentThread().getStackTrace();

for(StackTraceElement e : es){
System.out.println(e.getClassName());
}
}
}

运行结果: