黑马程序员--java技术blog---第十一篇:反射
2015-08-14 14:09
477 查看
------- android培训、java培训、期待与您交流! ----------
1、Class类
描述类的类,
所有的数据类型包括类都由一个Class类描述
基础数据类型如int,double,float等
forName(类名)可以关联需要类
2、反射
反射就是把Java类中的各种成分映射成相应的java类
有许多类对应Class里的成员变量
Method、Contructor、Package、Field
3、构造方法
Constructor类 来描述构造方法
getConstructors()得到所有的构造方法
getConstructor(参数的Class类) 得到特点的构造方法
newInstance()返回一个该类的对象为Object类型,使用时需要强转
4、成员变量
Field类
Class类中的getField(name)会返回名称为name的Field
Field对应类不对应对象
get(对象)返回对象中这个成员变量的值
getField只能得到公用的的成员变量
私有的用getDeclaredField()
私有的不能直接使用不能直接使用get()方法
要先setAccessible(true)使其可以访问
getType()返回字段类型
字节码用==比较
用set方法进行设置值
5、成员方法
Method类
Class类的getMethod(方法名,参数)参数可以传递多个(重载)参数传参数的Class
invoke调用该方法第一个参数是对象,后面是方法的参数;对象传入null即可调用静态方法
jdk1.5会把数组拆包(invoke方法)解决方法,数组外层再用一个数组封装
拆包只拆一次 直接将数组转成Object也可以
6、数组
数组的Class类由类型和维度组成
[I 表示Int型一维数组
获取成员变量类型先获取一个成员
7、hashcode
寻找时快,分成若干个区域
对象存入HashSet后,参与计算HashCode的成员变量一旦改变,该对象就能再次被存入HashSet
而且会产生内存泄露
Java中是不是有内存泄露,这种情况可以作为一个例子
8、框架
用反射可以在目标类不明的情况下定义处理方法
1、Class类
描述类的类,
所有的数据类型包括类都由一个Class类描述
基础数据类型如int,double,float等
forName(类名)可以关联需要类
2、反射
反射就是把Java类中的各种成分映射成相应的java类
有许多类对应Class里的成员变量
Method、Contructor、Package、Field
3、构造方法
Constructor类 来描述构造方法
getConstructors()得到所有的构造方法
getConstructor(参数的Class类) 得到特点的构造方法
newInstance()返回一个该类的对象为Object类型,使用时需要强转
4、成员变量
Field类
Class类中的getField(name)会返回名称为name的Field
Field对应类不对应对象
get(对象)返回对象中这个成员变量的值
getField只能得到公用的的成员变量
私有的用getDeclaredField()
私有的不能直接使用不能直接使用get()方法
要先setAccessible(true)使其可以访问
getType()返回字段类型
字节码用==比较
用set方法进行设置值
5、成员方法
Method类
Class类的getMethod(方法名,参数)参数可以传递多个(重载)参数传参数的Class
invoke调用该方法第一个参数是对象,后面是方法的参数;对象传入null即可调用静态方法
jdk1.5会把数组拆包(invoke方法)解决方法,数组外层再用一个数组封装
拆包只拆一次 直接将数组转成Object也可以
6、数组
数组的Class类由类型和维度组成
[I 表示Int型一维数组
获取成员变量类型先获取一个成员
7、hashcode
寻找时快,分成若干个区域
对象存入HashSet后,参与计算HashCode的成员变量一旦改变,该对象就能再次被存入HashSet
而且会产生内存泄露
Java中是不是有内存泄露,这种情况可以作为一个例子
8、框架
用反射可以在目标类不明的情况下定义处理方法
相关文章推荐
- Android面试题精选,自己收藏下
- 黑马程序员--Java多线程
- 我想问面试官的话(更新中)
- 静态链接的一点小总结(二) 《程序员的自我修养》·笔记
- 多线程经典面试题
- 面试需要注意的十二个得分细节
- 设计模式面试大集锦
- 黑马程序员——java复习总结——泛型和Map
- 【黑马程序员-学习笔记】OC-协议与分类
- 黑马程序员——26,基本数据操作流,字节数组操作流,转换流,编码表
- java面试题总结
- 【面试真题】华为2013至2015最全-嵌入式软件(附答案)
- 黑马程序员-Java基础:IO流
- 千锋扣丁学堂 教学时代-在线教育
- 程序员面试十大误区
- 程序员该如何合理安排时间呢?
- 线程面试题
- 三道经典的逻辑推理面试题:病狗、三盏灯、买鸡
- 黑马程序员-----Java基础-----抽象类
- 技术面试五步曲