黑马程序员技术交流社区
标题: 【石家庄校区】Java学习笔记_反射 [打印本页]
作者: CHNing 时间: 2018-4-23 16:26
标题: 【石家庄校区】Java学习笔记_反射
本帖最后由 小石姐姐 于 2018-4-25 17:13 编辑
反射
1.3中获取字节码(Class)对象方式
类型.class属性
实例对象.getClass()
Class.forName("类名地址");
2.Class
Constructor需要导包:java.lang.reflect.Constructor;
Constructor[] getConstructors() 获取所有(public)构造方法,不包括私有
Constructor[] getDeclaredConstructors() 获取所有构造方法,包括私有
Constructor getConstructor(class<?>...parameterTypes) 获取一个(public)构造方法(根据传入参数获取构造)
Constructor getDeclaredConstructor(class<?>...parameterTypes) 获取一个私有构造方法(根据传入参数获取构造)
Field getField(String name) 获取指定成员变量
Field[] getFields() 获取全部成员变量
Field[] getDeclaredFields() 获取全部成员变量(包括私有)
Method getMethod(String name,Class<?> ...parameterTypes) 获取指定成员方法
Method[] getMethods() 获取全部public方法
3.Constructor (构造方法类)
方法:
T newInstance() 获取一个构造方法
T newInstance(Object ...initargs) 如果Constructor构造是有参数,这个传入参数必须和Constructor参数一致
4.Field (成员变量类)
方法:
setAccessible(boolean flag) 设置安全检查,屏蔽后可以获取私有成员
set(object obj,Object value) obj要修改的对象,value修改成什么值(不包括私有)
get(object obj) 获取obj对象的成员变量
5.Method
Invoke(Object obj,Object ...args) 执行指定对象,[可选]并传入参数
6.JAVA Bean
是一种规范
7.BeanUtils
jar是java的压缩包
导入jar包:
1.创建lib文件夹
2.把jar文件放到lib文件下
3.选中jar包,右键Build Path ==>
删除jar包:
1.删除时必须先删除引用中的jar包,在删除lib文件夹下jar包
类:
BeanUtils
方法:
setProperty(Object bean,String name,Object value) 修改指定对象属性值
String getProperty(Object obj,String name)获取指定对象属性值
setProperty和getProperty底层都是调的对象中的setXXX和getXXX方法
populate(Object bean,Map properties)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |