反射 原理 demo

     在Android的源码中有很多方法是被@hide注释了,这代表这些方法在外面是看不到且调用不到的。但可以通过反射机制来调用。以下是反射的原理,名词解释

 

   1、专业术语解释:

 

        反射:就是Java自我管理这些(类,如String,ArrayList等,对象等)的机制

        

 

    2、反射的作用:

         可以通过反射机制发现对象(Class类的对象)的类型,发现类型(如 String类)的方法/属性/构造器

         可以创建对象并访问任意对象方法和属性等

 

   3、Class加载

        类加载到内存:Java将磁盘类文件(即class文件)加载到内存中,为一个对象(即Class类的实例)

   4、在eclipse中编码时,按Alt+/会有代码提示,其实这就是利用了反射机制获取的

 

   5、获得基本类型实例:

        int.class

       long.class等等

 

  6、获得类类型(Class)实例

       Class cls = String.class;

      Class cls = Class.forName("java.lang.String");

      Class cls = "abc".getClass();

     以上三个方法获取的是同一个Class的对象,就是String类内存加载的结果

     其中Class.forName("java.lang.String")的性能最佳。因为这是一个静态方法,可以利用类名在CLASSPATH中查找对应的类(class文件)。并且装载到内存中,而Class.forName(“java.lang.String”)方法会先在内存中查询是否加载了java.lang.String类。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值