JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。
简单的说,反射机制指的是程序在运行时能够获取自身的信息。在Java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息,并可在运行时创建对象、修改属性(包括私有的)、调用方法(包括私有)。
为什么要用反射机制?直接创建对象不就可以了吗,这就涉及到了动态与静态的概念?
静态编译:在编译时确定类型,绑定对象,即通过。
Student stu=new Student("张三",30);
动态编译:运行时确定类型,绑定对象。动态编译最大限度发挥了java的灵活性,体现了多态的应用,用以降低类的耦合性。
Class.forName("com._520it.reflection.Drive.class").newInstance();
具体代码如下:
![](https://i-blog.csdnimg.cn/blog_migrate/f6796f0e6573e7367c0a792ce6a2c967.png)