反射总结
来源:互联网 发布:java架构师岗位职责 编辑:程序博客网 时间:2024/06/05 06:29
反射简单讲就是把一个java类中的所有成分都映射成一个相应的java类。这个java类包含有前一个类的相关信息。
通过反射得到的是相应累得字节码文件,总共有三种加载字节码的方式: 1、类名.class 2、对象.getClass(); 3、Class.forName("");//这里要为类的全路径:包名.类名一、预定义Class实例对象,8个基本类型对象和一个void对象。
void即void.class
isPrimitive():是否是原始类型。
如:int.class.isPrimitive() 返回值为true
数组类型的Class实例对象
如:int[].class.isArray() 返回值为true
只要在源程序中出现的类型,都有各自的Class实例对象。
二、Constructor类代表某个类中的一个构造方法。
反射利用getConstructor()获取构造方法。
一个类通常有不止一个构造函数,getConstructor()通过构造函数的参数个数和类型的不同来区分
如:Constructor c=String.class.getConstructor(StringBuffer.class)//一个StringBuffer类型的参数
利用构造方法实现一个对象,传递参数
c.newInstance(new StringBuffer("aaa"));
三、Field类代表某个类中的一个成员变量。
反射中,如果出现private修饰的变量。想要得到它时,需要用到暴力反射将
获取公共成员字段的getField()修改成getDeclaredField()获得声明的字段。同时还要设置该变量
setAccessible(true)就可以获得类文件中私有变量的属性了
四、Method代表某个类的一个成员方法。
注:反射得到的方法并不属于某个对象
如:Method m=String.class.getMethod("charAt",int.class);//参数为 方法的名称 方法的参数
String str="abc";
利用反射得到str的charAt方法:
m.invoke(str,1);//参数为 对象名称 传的参数
如果传递给Method对象的invoke()方法的第一个参数为null,
这说明Method对象对应的是一个静态方法
- 反射总结
- 反射总结
- 反射-->总结
- 反射总结
- 反射总结
- 反射总结
- 反射总结
- 反射总结
- 反射总结
- 反射总结
- 反射总结
- 反射-总结
- java反射总结
- 反射的使用总结
- java 反射 总结
- java 反射 总结
- C#反射问题总结
- C#反射问题总结
- 对linux的IO的再认识
- DNS主从服务器的搭建
- Jad反编译jar包
- Leetcode:Multiply Strings
- Java 遍历指定目录及子目录下的文件
- 反射总结
- 黑马程序员_java_面向对象
- 笔记:上过的关于Coursera上的一些课程
- 浅谈select into
- Web App和Native App不是生死之争——反思HTML5惨痛的500天和四个谎言
- Oracle 中的 TO_DATE 和 TO_CHAR 函数 日期处理
- 基于Thinkphp很不错的一个响应式blog系统
- SSH:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 错误处理方法
- js实现动态控件提示信息模版