反射如何影响应用程序的设计



我读过一些关于java的面试问题,我在下面找到了。

曲。在应用程序中使用反射好吗?答:不,是 喜欢挑战应用程序的设计

我需要进一步澄清上面的答案,因为我了解到反射是Java的一个强大功能。

挑战设计是什么意思?

我们必须在应用程序中实际使用反射的场景是什么?

挑战设计意味着您可以:

  1. 使用反射访问类的私有成员。
  2. 您可以实例化那些不应该实例化的类,例如:您可以使用不打算实例化的反射来实例化java.lang.System
  3. 以及 API 的原始程序员不希望您做的许多其他事情。或者你可以尽可能做你不应该做的事情。

尽管反射在某些情况下很有用:

  1. 就像使用 FXML 一样,解释器会动态加载FXML文件并动态地为节点设置属性。 使用反射。
  2. 如果您曾经为 android 编程过,您必须知道程序员使用.xml文件设计其应用程序的view。即使在这种情况下,您的小部件也会使用反射动态加载。在安卓中的基本示例:

    <Button  ...
         android:onClick="callMe" />    
    

然后,在.java文件中编写 callMe(View view) 方法。此侦听器使用反射添加到按钮。

  1. 像Spring,Hibernate等框架也使用反射来处理它们。

因此,反思既有利也有弊。

您可能需要参考此内容以获取更多信息

相关内容

  • 没有找到相关文章

最新更新