JAVA 反射

java 反射:

          一个类(或Interface或Annotation或Enum或Arrays或修饰符等等这些东西)被加载后,jvm会创建一个对应该类(或Interface或Annotation或Enum或Arrays或修饰符等等这些东西)的Class对象,类(或Interface或Annotation或Enum或Arrays或修饰符等等这些东西)的整个结构信息会放到这个Class对象中。

                通过这个Class对象,可以看对应类(或Interface或Annotation或Enum或Arrays或修饰符等等这些东西)的所有类(或Interface或Annotation或Enum或Arrays或修饰符等等这些东西)信息。

          一个类(或Interface或Annotation)只被加载一次,这个类只对应一个Class对象。

2.在程序运行中,

            在java 程序中(Class或Interface或Annotation或Enum或Arrays或修饰符等等这些 东 西)                        都可以在加载后获得一个Class对象。

获得Class对象的三种方式:

                     .getClass()      //对象调用

                      .class            //类名调用

                      Class.form()    //类全限定名

 使用反射加载一个类后可以:

            Class clazz=Class.forName("com.alces.rest.service.impl.ContentServiceImpl");

                        1.获得动态加载类中的注解对象                             

                        2.获得动态加载类中的方法对象

                        3.获得动态加载类中的属性对象                   

                        4.获得该类的构造函数对象

                        5.通过构造函数获得该类的实例

                        6.动态调用该类中的方法。

动态调用:

                          1.通过传入对象、类名、类全限定名。来获得一个class对象

                          2.再通过传入方法名来动态调用方法。 //调用指定方法名的方法。

你可能感兴趣的:(JAVA 反射)