反射
y建业
以敲坏键盘为目标
展开
-
使用反射操作属性
public void test3() { try { //得到Class类 Class c2 = Class.forName(“路径”); //得到name属性 //c2.getDeclaredFields();//表示得到所有的属性 //得到Per...原创 2018-09-11 20:02:43 · 197 阅读 · 0 评论 -
反射:使用泛型操作普通方法
使用Method类表示普通方法代码 //操作普通方法 ,比如操作 setName @Test public void test4() throws Exception { //得到Class类 Class c4 = Class.forName(“路径”); //得到Person实例 Person p4 = (Person) c4.newInstance(); //得到普通方法 ...原创 2018-09-11 20:04:18 · 161 阅读 · 0 评论 -
反射操作静态方法
当操作的方法是静态的方法时候,因为静态方法调用方式是 类名.方法 名,不需要类的实例使用反射操作静态方法时候,也是不需要实例在invokie方法的第一个参数里面,写一个 nullm1.invoke(null, “niuqi”);...原创 2018-09-11 20:04:39 · 1206 阅读 · 0 评论 -
反射的原理
首先需要把java文件保存到本地硬盘 .java * 编译java文件,成.class文件 * 使用jvm,把class文件通过类加载加载到内存中 * 万事万物都是对象,class文件在内存中使用Class类表示* 当使用反射时候,首先需要获取到Class类,得到了这个类之后,就可以得到class文件里面的所有内容 - 包含属性 构造方法 普通方法*...原创 2018-09-10 22:04:47 · 106 阅读 · 0 评论 -
反射:获取到Class类的三种方法
// 获取Class类 Class clazz1 = Person.class; Class clazz2 = new Person().getClass(); Class clazz3 = Class.forName(“路径”); 路径通过右键Copy Qualified Name获取原创 2018-09-10 22:14:39 · 839 阅读 · 0 评论 -
反射面试题: 要对一个类进行实例化,可以new,不使用new,怎么获取?
- //得到Class Class c3 = Class.forName("路径"); //得到Person类的实例 Person p = (Person) c3.newInstance();原创 2018-09-10 22:16:30 · 509 阅读 · 0 评论 -
反射:操作无参数的构造方法
public void test1() throws Exception { //得到Class Class c3 = Class.forName(“路径”); //得到Person类的实例 Person p = (Person) c3.newInstance(); //设置值 p.setN...原创 2018-09-10 22:17:45 · 316 阅读 · 0 评论 -
使用反射操作有参数的构造方法
public void test2() throws Exception { //得到Class Class c1 = Class.forName(“路径”); //使用有参数的构造方法 //c1.getConstructors();//获取所有的构造方法 //传递是有参数的构造方法里面参数类型,类型使用cl...原创 2018-09-10 22:25:03 · 557 阅读 · 0 评论