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

Java中被调用的类中的方法如何获得原调用的类的对象?如图,类a中的b方法如何获得main类中的bbbbb?

可以通过“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());
}
}
}

运行结果:

温馨提示:答案为网友推荐,仅供参考
相似回答