在Java中可以“反射地”访问方法的源代码吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Java中可以“反射地”访问方法的源代码吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含954字,纯文字阅读大概需要2分钟。
内容图文
恐怕答案是否定的,但是也许你们中的一个使我感到惊讶.
谢谢.
编辑1:
我知道这个问题没有多大意义,但我认为问题已经得到了理解,可悲的是,答案是否定的.无论如何,我更改了问题的标题,在“反省”一词上加上了引号,以防万一,我将尽力更好地解释我的意图.
我有一个类型的实例,该实例是具有某些已知方法的某种抽象类型的子类.我想在运行时获取一个String,其中包含实例类型中此类方法之一的实际实现的源代码.
我认为值得指出的是,实例的实际类型可能是一个匿名内部类.
同样,源代码的“反编译”版本也足够好.在大多数情况下,我想要获取源代码的方法只有一行.
谢谢.
解决方法:
正如其他人指出的那样:不.
您可以按照JVM的方式访问类的对象,其方法等.这仅是可能的,因为每个类在编译时都会存储有关其自身及其成员的信息.
如果我不得不猜测,这发生在继承树中的根对象Object中.您可以使用反编译器反编译类文件并将其用于检查.但是您不能访问源代码,例如String或类似的东西.
想想看:如果您已经为JVM编译了scala代码,那么您也无法找回该scala代码.而且您无法获取Java代码.
您是否有任何特殊原因要这样做?可能有其他尝试实现目标的方法吗?
问候
内容总结
以上是互联网集市为您收集整理的在Java中可以“反射地”访问方法的源代码吗?全部内容,希望文章能够帮你解决在Java中可以“反射地”访问方法的源代码吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。