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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么依靠反思是不可取的?相关的知识,希望对你有一定的参考价值。

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

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

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

答案

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

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

以上是关于为什么依靠反思是不可取的?的主要内容,如果未能解决你的问题,请参考以下文章

在 Yii 框架视图中使用 if-else php 代码是不是可取?

在 Bash 中,双方括号 [[ ]] 是不是比单方括号 [ ] 更可取?

为什么从glmnet模型中获取回归系数的统计汇总信息是不可取的?

LINUX:跨局域网的管道是不是可能?如果是这样,它是不是可取?还都有哪些其他选择?

算术运算符是不是比算术函数更可取?

将 UIViewController 的视图添加到另一个 UIViewController 的视图是不是可取?