【发布时间】:2011-05-25 07:15:35
【问题描述】:
是否有可能在 Java 中“覆盖”超类的私有方法?
我希望覆盖其方法的类是第三方类,因此我无法修改源。如果有某种方法可以反射性地设置类上的方法,那将是理想的。
或者,如果可以拦截第三方类的私有方法,那么这将是合适的。
【问题讨论】:
-
您可以通过使用字节码(反)汇编程序来更改字节码的可见性来做到这一点。呃,太恶心了!
-
我认为你应该能够通过使用AOP的方法拦截器而不是将调用委托给普通
proceed(),使用反射调用创建方法的方法它的实例并将setAccessible()设置为true
标签: java reflection aop