读书人

被调用对象的方法内部怎么quot;动态quot;获得

发布时间: 2012-09-16 17:33:17 作者: rapoo

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

如题:

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语言写的

读书人网 >J2SE开发

热点推荐