您的位置:首页 > 移动开发 > Android开发

反射机制学习笔记

2012-05-26 23:45 302 查看
学习java反射两天了,刚开始很迷糊,感觉不好理解,通过重复观看视频和做练习,总算有点感觉了.

反射,顾名思义,是一种映射关系,它将对象的类属性以及类中的各种元素提取出来,映射成各种类

通过这些类可以了解原始对象或原始类中的各种信息,进一步的,可以通过反射更改原始数据.

 

学习反射机制,主要学习了以下几个类:

1.Class

       就是类反射过来的一种类,有点拗口,比如String是一种类,它加载到JVM中会反射为String.class的类

       得到Class类型的实例有以下几种方法:

                类名.class,例如,System.class

                对象.getClass(),例如,new Date().getClass()

                Class.forName("类名"),例如,Class.forName("java.util.Date");

                ClassLoader对象的loadClass()方法

2.Constructor

        对应的就是构造器的类型

        获取方法:getConstructor();返回公共构造方法,意思是私有的得不到

                         getConstructors();返回构造方法数组,私有的得不到

                         getDeclaredConstructor();返回构造方法,私有的也可得到

                         getDeclaredConstructors();返回构造方法数组,私有的也可得到

3.Field

        对应的反射的字段可能是一个类(静态)字段或实例字段。

        获取字段的方法有getField();和getDeclaredField();前者不能取得私有属性的字段,后者可以,再通过setAccessible()方法,

        就可以修改私有属性字段的数据,被称为:暴力反射

4.Method

        方法的类型,反映的方法可能是类方法或实例方法(包括抽象方法)。

        获取方法和获取Constructor类似,不再覆述.

 

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息