反射可以取到原始调用方法的变量名吗?

lanchong512 2008-09-22 06:20:11
小弟愚昧,想知道Java可不可以实现这样的功能。


Class A{
public void methodA1(){
String oriName = "Class A methodA1 field";
ClassB instanceB = new ClassB();
instanceB.methodB1(oriName );
}
}

Class B{
public void methodB1(String inStr){
//我可不可以在这里得到调用次方法的原始的变量名称(比如oriName)?
System.out.println("inStr=" + inStr);
}
}


翻看了几个Java的反射代码好像需要知道名称才能取得属性,那我就很困惑了,能不能得到引用取得名称呢?
想到Java虚拟机最后会把变量当作reference指向同一块内存,所以应该可以有方法实现遍历或者逆推得到原来的变量名。

请大家积极发言。。。
...全文
401 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
风者-martic 2008-09-24
  • 打赏
  • 举报
回复
我个人认为是不可以的,如果可以那么java的反射机制的意义就不是很大了,反射就是为了安全还有就是代码的隐藏等特性,如果还可以得到原来的名字,首先安全性就没了啊!!!以上只是个人的一点看法!
qinqinhao 2008-09-23
  • 打赏
  • 举报
回复
ding

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧