![](/img/trans.png)
[英]instantiate an object and invoking a method via a .class file using reflection in JAVA?
[英]Could java reflection add method into class file that are not in java source file?
我最近正在研究Java深度学习的源代码。 有一个这样的类NeuralNetConfiguration ,其中有很多字段都需要getter和setter。 但是,NeuralNetConfiguration.java源代码不提供任何源代码。
当我在IntelliJ中打开该项目时,请按ctrl键单击此类的用法,这些用法大多类似于NeuralNetConfiguration.getNInput()或NeuralNetConfiguration.getKernelSize(),IDE会将我定向到所有吸气剂所在的已编译类文件中。为此类中的每个字段定义。
只是想知道这是怎么做的,因为我是Java的新手。 我发现的有关Java反射的帖子表明,除非您编写了自己的类加载器,否则反射不能将方法添加到类的方法中。 我检查了Java项目的深度学习,但我认为他们没有做到这一点。
时不时地困扰着我的是,IntelliJ开始报告那些getFields方法根本无法解决的错误,因为它们根本不在源文件中,尤其是在我使用IntelliJ而不是使用mvn命令行构建项目之后。
神奇之处在于类上的@Data注释。 此注释来自Lombok项目 。 某处可能有一个注释处理器,可以挂接到编译过程并生成这些方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.