关于对反射机制的通俗理解


反射其实就是照镜子的过程,通过照镜子,镜子里的镜像能获取你的属性和行为

  • 首先要先有一个定义了自身的本体(Class A),里面必须有一个无参的构造函数
  • 所有的镜子(任意的类)都可以通过照镜子这个行为去获取本体的信息
  • 照镜子有三种方法,需要先声明一个镜像(Class c)
  • 给这个镜像赋值的过程就相当于照镜子,照完镜子后镜像就获取了本体的信息了
  • 接下来镜子就可以通过镜像来得到本体的信息(c.newInstance())
    Class A{
        public A(){
    
        }
    
        public A(String a){
        
        }
    }
    
    Class B{
        Class c;
        public static void main(String[] args){
    
            // 方法一:直接通过类名.class方式获得
            c = A.class;
    
            // 方法二:通过对象的getClass()方法获取,通常不知父类是什么的时候才用
            Object a = new A; 
            c = a.getClass();
    
            // 方法三:通过全类名获取,但可能抛出ClassNotFoundException异常
            c = Class.forName("com.laiyin.Text.A");
    
            // c.newInstance()创建了类对象,调用了A类的无参构造器,
            // 这就是为什么必须要定义无参构造函数的原因
            Object o = c.newInstance();
            System.out.println(o);
        } 
    }
    
    

    


版权声明:本文为qq_35699070原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。