java的反射基础笔记
来源:互联网 发布:加工中心手动编程图纸 编辑:程序博客网 时间:2024/05/21 09:37
反射reflect
1.1 Class(描述类的类)
获得类对象的三种方式1.1.1 通过字符串的类名获取
Class c = Class.forName(“com.direct.Person”);
1.1.2 通过类.class来获取
Class c = Person.class;
1.1.3 通过对象.getClass()来获取
Person p = new Person();
Class c = p.getClass();
1.2 Constructor(描述构造方法的类)
1.2.1 获得构造方法
getConstructors // 获取所有public构造方法
getConstructor(new Class[] {..}) //获取指定参数列表的可见构造方法
getDeclaredConstructor(new Class[]{…})// 获取声明的构造方法(包括私有的)
getDeclaredConstructors //获取所有构造方法(包括私有的)1.2.2 根据构造方法创建对象
cons.newInstance(new Object[]{..})
1.3 Field(描述属性的类)
1.3.1 获取属性
Field[] fs1 = c.getFields(); // 获取拥有的public的属性(包括继承来的属性)
Field[] fs2 = c.getDeclaredFields(); // 获取自己类中声明的属性(包括私有属性)
Field f1 = c.getField(“name”);
Field f2 = c.getDeclaredField(“name”);
1.3.2 访问属性
Feild f = c.getFeild(“name”);
f.set(obj,value);// 设置obj对象的name属性值为value,相当于obj.name = value;
Object value = f.get(obj); // 获取obj对象的name属性值 相当于 Object value = obj.name;f.setAccessible(true); // 设置name属性可以被访问(修改访问权限,private也可以修改)
1.4 Method(描述方法的类)
1.4.1 获取方法
c.getMethod(name, parameterTypes)
c.getMethods()
c.getDeclaredMethod(name, parameterTypes)
c.getDeclaredMethods()1.4.2 执行方法
Method m1 = c.getMethod(“eat”, new Class[]{});
// 执行对应的方法
Object r = m1.invoke(o, new Object[]{});// 执行o对象的eat方法,用r来接收返回值
m1.setAccessible(true);
- java的反射基础笔记
- Java基础笔记-反射
- java反射机制基础笔记
- 笔记:Java反射机制基础
- java反射的基础
- JAVA反射的基础
- JAVA 的反射基础
- Java的反射基础
- (Java基础--反射)理解反射的概念
- 黑马程序员 JAVA基础学习笔记 反射
- Java基础笔记-反射及应用
- java基础巩固笔记(1)-反射
- JAVA基础笔记(十五)反射
- JavaWeb学习笔记-java基础-7-反射
- java 反射的基础学习
- java反射的基础常识
- Java基础-----反射的理解
- java基础反射的心得
- 拉丁方阵问题
- MYSQL添加远程用户或允许远程访问
- Flask文件上传
- IEC-国际电工委员会
- Android查看应用数据或者跨进程查看和访问数据
- java的反射基础笔记
- 递归,递推,迭代的含义
- 413. Arithmetic Slices
- 多线程,并发安全与volatile
- poj 2686 Traveling by Stagecoach(状压dp)
- K短路模板题目, A*, POJ2449
- CAN总线学习总结
- web新手快速入门--零基础(0)
- Java笔记 - 线程间通讯 - 等待唤醒机制2