java 反射机制学习
来源:互联网 发布:刺客袖剑淘宝 编辑:程序博客网 时间:2024/06/04 17:57
内容出自:http://www.cnblogs.com/lzq198754/p/5780331.html
获取Class类对象:
class1 = Class.forName("net.xsoftlab.baike.TestReflect");//通过类路径class2 = new TestReflect().getClass();//通过一个类对象来获取类class3 = TestReflect.class;//直接通过该类的class来获取
取得父类:
Class<?> parentClass = clazz.getSuperclass();//其中clazz为初始化的类对象
获取类的接口
Class<?> intes[] = clazz.getInterfaces();
实例化类对象:
User user = (User) class1.newInstance();
获取类的构造函数:
Constructor<?> cons[] = class1.getConstructors();
获取构造函数的的参数:
Class<?> clazzs[] = cons[i].getParameterTypes();
获取类的全部属性:(不算main方法)
Field[] field = clazz.getDeclaredFields();
获取权限修饰符:(private、static、final...)
int
mo = field[i].getModifiers();
String priv = Modifier.toString(mo);
Class<?> type = field[i].getType();
type.getName()
获取属性名:
field[i].getName()
获取类的全部方法:
Method method[] = clazz.getMethods();//这个获取到很多一些看不见的方法
获取方法的返回值:
Class<?> returnType = method[i].getReturnType();
获取方法的参数:
Class<?> para[] = method[i].getParameterTypes();
获取方法的错误(Exception)
Class<?> exce[] = method[i].getExceptionTypes();
反射机制获取某个类的方法:
Method method = clazz.getMethod(
"reflect1"
);//获取reflect1的方法,即使改方法不存在,编译也会通过,只有运行时才会去执行该方法
method.invoke(clazz.newInstance());//实例化(执行)该方法
反射机制获取某个类的属性:
Field field = clazz.getDeclaredField(
"proprety"
);//通过属性名来获取该属性
field.setAccessible(
true
);//即使该属性为私有照样获取
field.set(obj,
"Java反射机制"
);//设置该属性的值
- java反射机制学习
- JAVA反射机制学习
- Java反射机制学习
- JAVA反射机制学习
- java反射机制学习
- java反射机制学习
- java反射机制学习
- Java反射机制学习
- Java学习 反射机制
- Java反射机制学习
- java反射机制学习
- java反射机制学习
- Java学习:反射机制
- Java反射机制学习
- Java反射机制学习
- Java反射机制学习
- java 反射机制学习
- java 反射机制学习
- GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段
- 快速搞定php单例模式
- 运动轨迹
- 读书笔记《Effective C++》条款35:考虑virtual函数以外的其他选择
- 如何通过curl完成一些功能
- java 反射机制学习
- Winsock(微软套接字接口)的使用(2)
- CSU
- Dell 14R N4120笔记本电脑加固态硬盘
- Winsock(微软套接字接口)的使用(3)
- 在VS中打开QT项目的问题整理
- POJ2991_Crane_计算几何::向量化|向量旋转公式||线段树维护向量和
- arr
- 【ARM】使用J-Link下载u-boot到Mini2440开发板