为什么依靠反思是不可取的?

Oll*_*lu_ 0 java reflection jvm

我读过很多网站和书籍都说过:

依赖reflection于Java是一个坏主意,你应该寻求其他方法来测试/与封装对象接口.

但是,我找不到任何实际原因,是否与安全管理器不同,从JVM到JVM?或者还有其他原因吗?

小智 6

反思在很多方面都非常有用.最好的例子之一是创建一个允许第三方插件的程序.反思很棒.但是,使用它会导致许多其他问题的可能性,包括更多的运行时错误,而不是编译错误,调用速度较慢,并且(并不总是一个巨大的问题)IDE的重构和代码分析问题.

一般来说,如果你认为你可以做一些没有反思的事情,那就不用反思就行.有一个非常小的灰色区域,反射是一个好主意.发现灰色区域需要练习.