什么是反射
反射是java的一种特性,能动态获取的信息以及动态调用对象的方法的功能
类:对于任意一个类,都能够知道这个类的所有属性和方法
对象:对于任意一个对象,都能够调用它的任意一个方法和属性
创建反射对象的四种方式
- 以对象.getClass()的形式获取对象
Stringsabc abc = new Stringsabc();
Class<? extends Stringsabc> class1 = abc.getClass();
- Class.forName()创建反射获取对象
Class<?> forName = Class.forName("learn.basic1.Listlearn");
- 通过类名.class创建反射获取对象
Class <Stringsabc> ab = Stringsabc.class;
- 通过类加载器获取对象
ClassLoader cl = this.getClass().getClassLoader(); // 使用当前类的ClassLoader
Class clazz = cl.loadClass("learn.basic1.Listlearn"); // 使用第一步得到的ClassLoader来载入B
Object newInstance = clazz .newInstance();// 有B的类得到一个B的实例