Reflect_反射
文章平均质量分 62
辐_射
这个作者很懒,什么都没留下…
展开
-
反射_类的加载概述和加载时机
类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 加载 就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。 连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值 解析 将类的二进制数据中原创 2017-04-13 18:00:14 · 512 阅读 · 1 评论 -
反射_反射、设置模式、JDK新特性总结
1:反射(理解) (1)类的加载及类加载器 (2)反射: 通过字节码文件对象,去使用成员变量,构造方法,成员方法 (3)反射的使用 A:通过反射获取构造方法并使用 B:通过反射获取成员变量并使用 C:通过反射获取成员方法并使用 (4)反射案例 A:通过反射运行配置文件的内容 B:通过反射越过泛型检查 C:通过反射给任意的一个对象的任意的属性赋值为指定的值 (5原创 2017-04-15 18:03:37 · 572 阅读 · 0 评论 -
反射_通过反射运行配置文件内容
package cn.itcast.test; import java.io.FileReader; import java.io.FileWriter; import java.io.Writer; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.Properties原创 2017-04-14 16:53:05 · 549 阅读 · 0 评论 -
反射_通过反射写一个通用的设置某个对象的某个属性为指定的值
package cn.itcast.test; import java.lang.reflect.Field; /* * 写一个方法 * public void setPropertv(Object obj,String propertvName,Object value){ * } * * 此方法可将obj对象中名为propertvName的属性值设置为value原创 2017-04-14 17:33:19 · 1265 阅读 · 0 评论 -
反射_通过反射越过泛型检查
package cn.itcast.test; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import java.util.ArrayList; /* * 需求:给你一个ArrayList的一个对象,我想在这个集中添加一个字符串,如何实现呢? */ public class ArrayLis原创 2017-04-14 17:07:31 · 538 阅读 · 0 评论 -
反射_获取class文件对象的三种方式
package cn.itcast_01; /* * 反射:就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法。 * * Person p = new Person(); * p.使用 * * 要想这样使用,首先你必须得到class文件对象,其实也就是得到Class类的对象。 * Class类: * 成员变量 Field * 构造方法 Cons原创 2017-04-13 19:04:56 · 1141 阅读 · 0 评论 -
反射_反射概述
反射 JAVA反射机制是在运行状态中,对于任意一个 类,都能够知道这个类的所有属性和方法;对 于任意一个对象,都能够调用它的任意一个方 法和属性;这种动态获取的信息以及动态调用 对象的方法的功能称为java语言的反射机制。 要想解剖一个类,必须先要获取到该类的字节码 文件对象。而解剖使用的就是Class类中的方法. 所以先要获取到每一个字节码文件对应的Class类型的对象.原创 2017-04-13 18:34:49 · 470 阅读 · 0 评论 -
反射_通过反射获取成员变量、构造方法、成员方法的使用
package cn.itcast_01; public class Person { private String name; int age; public String address; public Person() { } private Person(String name) { this.name = name; } Person(String name原创 2017-04-14 01:51:14 · 478 阅读 · 0 评论 -
反射_通过反射获取带参带返回值成员方法并使用
package cn.itcast_04; import java.lang.reflect.Constructor; import java.lang.reflect.Method; /* * 需求:通过反射获取成员方法 */ public class ReflectDemo { public static void main(String[] args) throws Excepti原创 2017-04-14 01:06:13 · 7136 阅读 · 0 评论 -
反射_通过反射获取无参无返回值成员方法并使用
package cn.itcast_04; import java.lang.reflect.Constructor; import java.lang.reflect.Method; /* * 需求:通过反射获取成员方法 */ public class ReflectDemo { public static void main(String[] args) throws Excepti原创 2017-04-14 00:21:18 · 3397 阅读 · 0 评论 -
反射_通过反射获取成员变量并使用
package cn.itcast_03; import java.lang.reflect.Constructor; import java.lang.reflect.Field; /* * 需求:通过反射获取成员变量并使用 */ public class ReflectDemo { public static void main(String[] args) throws Excep原创 2017-04-13 23:46:24 · 2654 阅读 · 0 评论 -
反射_通过反射获取私有构造方法并使用
package cn.itcast_02; import java.lang.reflect.Constructor; /* * 需求:通过反射获取私有构造方法并使用 * private Person(String name) * * Person p = new Person("风清杨"); * Systme.out.println(p); */ public class原创 2017-04-13 23:09:25 · 2777 阅读 · 2 评论 -
反射_通过反射获取带参构造方法并使用
package cn.itcast_02; import java.lang.reflect.Constructor; /* * 需求:通过反射去获取该构造方法并使用: * public Person(String name, int age, String address) * * Person p = new Person("胡亦菲",27,"上海"); * System.原创 2017-04-13 22:43:32 · 1423 阅读 · 0 评论 -
反射_通过反射获取无参构造方法并使用
package cn.itcast_02; import java.lang.reflect.Constructor; import cn.itcast_01.Person; /* * 通过反射获取构造方法并使用 */ public class ReflectDemo { public static void main(String[] args) throws Exception {原创 2017-04-13 19:49:39 · 797 阅读 · 0 评论 -
反射_类加载器的概述和分类
类加载器 负责将.class文件加载到内在中,并为之生成对应的Class对象。 虽然我们不需要关心类加载机制,但是了解这个机制我们就能更好的理解程序的运行。 类加载器的组成 Bootstrap ClassLoader 根类加载器 Extension ClassLoader 扩展类加载器 Sysetm ClassLoader 系统类加载器 类加载器的作用 Bootstrap ClassL原创 2017-04-13 18:11:34 · 374 阅读 · 0 评论 -
反射_动态代理的概述和实现
package cn.itcast_06; import java.lang.reflect.Proxy; public class Test { public static void main(String[] args) { UserDao ud = new UserDaoImpl(); ud.add(); ud.delete(); ud.update(); ud.f原创 2017-04-14 20:24:46 · 690 阅读 · 1 评论