我读过很多网站和书籍都说过:
在Java中依赖
reflection
是一个坏主意,你应该寻求其他方法来测试/与封装对象接口。
但是,我找不到任何实际原因,是否与安全管理器不同,从JVM到JVM?或者还有其他原因吗?
反思在很多方面都非常有用。最好的例子之一是创建一个允许第三方插件的程序。反思很棒。但是,使用它会导致许多其他问题的可能性,包括更多的运行时错误,而不是编译错误,调用速度较慢,并且(并不总是一个巨大的问题)IDE的重构和代码分析问题。
一般来说,如果你认为你可以做一些没有反思的事情,那就不用反思就行。有一个非常小的灰色区域,反射是一个好主意。发现灰色区域需要练习。