Reflection如何影响应用程序的设计

时间:2015-06-20 06:26:17

标签: java reflection

我已经阅读了一些关于java的访谈问题,我在下面找到了。

  

QUS。在应用程序中使用Reflection是否很好?答。不,它是   喜欢挑战应用程序的设计

我需要更多地澄清上面的答案,因为我学习反射是Java的一个强大功能。

挑战设计是什么意思?

我们必须在应用程序中实际使用反射?

1 个答案:

答案 0 :(得分:1)

挑战设计意味着你可以:

  1. 使用反射访问类的私有成员。
  2. 您可以实例化那些您不应该使用的类,例如:您可以使用您不想要的反射来实例化java.lang.System
  3. API的原始程序员并不想要你做的许多其他事情。或者你可以做你不应该做的事情。
  4. 虽然在某些情况下反射很有用:

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

      <Button  ...
           android:onClick="callMe" />    
      
    3. 然后在callMe(View view)文件中编写.java方法。使用反射将此侦听器添加到按钮。

      1. Spring,Hibernate等框架也使用反射进行处理。
      2. 所以反思有利有弊。

        您可能需要参考this以获取更多信息