对反射的理解:

反射: 简单的说,反射机制指的是程序在运行时,能够获取自身的信息(即:能够获取java中反射类的字节码). 在java中,只要给定类的名字,那么就可以通过反射机制来回去该类的所有信息. 

反射的作用: 

               在运行时能够判断任意一个对象的所属类,

               在运行时构造任意一个类的对象;

               在运行时判断任意一个类所具有的成员变量和方法;

               在运行时调用任意对象的方法;

               在运行时创建新类的对象;

获取字节码的三种方式:

      1. Class.forName(className)

      2. 类名.class

      3.this.getClass()  

             然后将字节码中的方法,变量,构造函数等  映射到相应的Method, filed , Constructor等类, 这些类提供了丰富的方法被我们所用.

 例子:

       public class Base {
             static int num = 1;
             static {
                   System.out.println("Base " + num);
             }

     }

     public class Main {
            public static void main(String[] args) {
                 // 不会初始化静态块
                 Class clazz1 = Base.class;
                        System.out.println("------");
                  // 会初始化
                Class clazz2 = Class.forName("zzz.Base");
          }
   }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值