Java基础_反射
概念及作用:
概念 : | 在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法; 对于任意一个对象,都能够调用它的任意一个方法; 动态获取的以及动态调用对象的方法; |
作用: | 反编译; 通过反射机制访问java对象的属性、方法、构造方法等; |
应用场景: | JDBC加载驱动; 框架; Spring ioc |
获取类的方式:
Class class1 = Class.forName(“反射.Person”); //通过Class类的静态方法forName()来实现
Class class2 = Person.class; //通过类的class属性
Person p1 = new Person(“小明” ,20,‘男’ ); Class class3 = p1.getClass();//通过对象getClass方法
在开发中一般使用第一种方法,因为第一种接收的是一个字符串路径,将来可以通过配置文件获取,通用性好;
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\反射\ClassDemo.java
在工厂设计模式中的应用:
代码路径:E:\IDEA_Study\Scattered_Study\Study\src\反射\ClassDemo3.java