java – 在运行时将新方法和属性注入到类中

前端之家收集整理的这篇文章主要介绍了java – 在运行时将新方法和属性注入到类中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有什么办法可以在运行时将新方法属性注入到类中.

http://nurkiewicz.blogspot.com/2009/09/injecting-methods-at-runtime-to-java.html声明我们可以通过使用Groovy来做到这一点.

只使用Java可以吗?

解决方法

Is it possible by just doing using
Java?

简单的答案是强调“你不想那样做!”.

这在技术上是可行的,但并非没有采用极其复杂,昂贵和脆弱的技巧,如字节码修改1.即便如此,您还必须依靠动态加载来访问修改后的类型和(可能)反射以利用其新成员.简而言之,你会为自己创造很多痛苦,几乎没有任何好处.

Java是一种静态类型语言,添加/修改类类型签名可能会破坏类的静态类型.

1 – AspectJ等允许您向类中注入其他行为,但它可能不是您所追求的“运行时”注入.当然,注入的方法不能用于静态编译的代码调用.

猜你在找的Java相关文章