Java反射

        Java反射机制是在程序运行过程中,对于任何一个类,都能知道这个类的属性和方法;对于任何一个对象,都可以调用他的属性和方法;这种动态获取信息和动态调用对象的方法的功能叫做Java的反射机制。

        Class对象是将 类名.class  文件加载到JVM中,并且自动创建一个Class对象,这是在程序运行的时候做的,例如:Student  s  =  new Student();这时候就会找到Student.class文件,将其加载到JVM中,并创建一个Class对象;


反射的使用:

1.    Student  s  =  new Student();

       Class stu =  s.getClass();

2.    Class stu = Student.Class;

3.    Class stu  = Class.forName("包名.类名的路径");   //一般用这一种


Java反射机制就是为了增加代码的灵活性,避免将代码写死;

例如:

      实例化一个 person()对象, 不使用反射, new person(); 如果想变成 实例化 其他类, 那么必须修改源代码,并重新编译。

      使用反射: class.forName("person").newInstance(); 而且这个类描述可以写到配置文件中,如 **.xml, 这样如果想实例化其他类,只要修改配置文件的"类描述"就可以了,不需要重新修改代码并编译。

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