当前位置: 代码迷 >> J2SE >> 被调用对象的方法内部,怎么"动态"获得调用者(调用对象)的引用
  详细解决方案

被调用对象的方法内部,怎么"动态"获得调用者(调用对象)的引用

热度:1737   发布时间:2013-02-25 00:00:00.0
被调用对象的方法内部,如何"动态"获得调用者(调用对象)的引用。
被调用对象的方法内部,如何"动态"获得调用者(调用对象)的引用。

如题:

Java code
class A{  f1(){    B.f2()  }}class B{  static f2(){  //这里如何动态获得 调用者的引用。  }}


注意 “调用者”可能是实现某接口的 任何类的实例。
我想问的是:不进行任何参数传递情况下引用 “调用者”

类似 Thread.currentThread() 可以获得“调用线程”的引用。

------解决方案--------------------------------------------------------
Java code
 public static String getCaller(){int i;StackTraceElement stack[] = (new Throwable()).getStackTrace();for (i=0; i < stack.length; i++) {StackTraceElement ste=stack[i];System.out.println(ste.getClassName()+"."+ste.getMethodName()+"(...)");System.out.println(i+"--"+ste.getMethodName());System.out.println(i+"--"+ste.getFileName());System.out.println(i+"--"+ste.getLineNumber());}}
------解决方案--------------------------------------------------------
只知道JAVA里 楼主这种要求 都不是用JAVA语言写的
  相关解决方案