带你了解反射机制
一、Class类型
1.创建对象的方式:class属性,对象.getClass()方法,诸如类名,父类,接口,方法,构造器,属
2.封装了类型的信息的一种特殊类型,用于 存储描述类型的信息
3.动态加载类信息Class.forName("java.lang.String");
4..Net,C#语言中Assembly与java中的Class等价
二、什么是反射
1.反射:运行时动态获取类的内部信息的一种方式
2.java语言的一种特性,c,c++语言就不具备这种特性
3.运行时自己查看自己信息的方式叫自审。
4.典型应用:IDE的提示,javabean的拷贝,简单工厂
三、简单工厂的使用
1.编写配置文件
2.定义接口
3.编写实现类
4.编写简单工厂
5.编写测试类
四、Field类型:用于封装描述了类里面的字段信息的一种类型
1.获取所有属性getDeclaredFields();
2.获取指定属性getDeclaredField("fieldName");
3.获取属性的值field.get(具体的对象引用);
4.为属性赋值 field.set(对象,值);
5.Modifier用于存储等级信息的类型 Modifier.toString(f.getModifiers());
五、Method类型:用于封装描述了类内方法信息的一种类型
1.获取所有方法对象getDeclaredMethods()
2.获取某一个方法对象getDeclaredMethod("name",paraType);
3.调用方法method.invoke(obj,values.....);
4.如果有返回值接收invoke方法返回的object即可
5.获取方法的参数类型getParameterTypes();
六、JavaBean拷贝
1.什么是JavaBean:一种java类,重用的组合,符合一定设计规范的
2.符合的规范如下:
公开且完整的类
所有属性需要隐藏
提供公共的可访问私有属性的途径(getXXX,setXXX)
布尔类型的属性命名时把get/set换成is
一定要提供一个无参数的构造器
3.javabean拷贝的意义
在系统分层时