Java 反射机制
* 学习目标 *
(1), 了解 反射的基本原理
(2), 掌握 Class 类的使用
(3), 使用 Class 类并结合 java.lang.reflect 包取得一个类的完整结构
(4), 通过反射机制动态地调用类中的指定方法,并能向这些方法中传递参数。
反射操作核心概念 : 一切的操作都将使用 Object 完成,类、数组的引用都可以使用 Object 进行接收。
正常方式 : 引入需要的 “包.类” ---> 通过 new 实例化 ---> 取得实例化对象
反射方式 : 实例化对象 ---> getClass()方法 ---> 得到完整的 “包.类” 名称
Class<?> c3 = null;
c1 = Class.forName("com.qunar.basicJava.javase.p15reflect.X");
c2 = new X().getClass();
c3 = X.class;
/* 下面此处代替了 new 操作
* 注意点 : 反射开发类的时候,类一定要有无参构造方法(不留也可以,但是会比较复杂 p583) */
X cx = (X)c1.newInstance();
* 学习目标 *
(1), 了解 反射的基本原理
(2), 掌握 Class 类的使用
(3), 使用 Class 类并结合 java.lang.reflect 包取得一个类的完整结构
(4), 通过反射机制动态地调用类中的指定方法,并能向这些方法中传递参数。
反射操作核心概念 : 一切的操作都将使用 Object 完成,类、数组的引用都可以使用 Object 进行接收。
正常方式 : 引入需要的 “包.类” ---> 通过 new 实例化 ---> 取得实例化对象
反射方式 : 实例化对象 ---> getClass()方法 ---> 得到完整的 “包.类” 名称
Class<?> c3 = null;
c1 = Class.forName("com.qunar.basicJava.javase.p15reflect.X");
c2 = new X().getClass();
c3 = X.class;
/* 下面此处代替了 new 操作
* 注意点 : 反射开发类的时候,类一定要有无参构造方法(不留也可以,但是会比较复杂 p583) */
X cx = (X)c1.newInstance();
cx.show();