当前位置:首页 > 未命名 > 正文内容

JAVA反射机制学习随笔

u3blog10年前 (2015-03-02)未命名296

JAVA反射机制是用于在运行时动态的获取类的信息或者方法,属性,也可以用来动态的生成类,由于所有类都是CLASS的子类,我们可以用一个CLASS类的实例来实例化各种类

例如:

 Class class1 = null;  
        Class class2 = null;  
          
        //写法1, 可能抛出 ClassNotFoundException [多用这个写法]  
        class1 = Class.forName("cn.lee.demo.Person");  
        System.out.println("Demo2:(写法1) 包名: " + class1.getPackage().getName() + ","   
                + "完整类名: " + class1.getName());  
          
        //写法2  
        class2 = Person.class;  
        System.out.println("Demo2:(写法2) 包名: " + class2.getPackage().getName() + ","   
                + "完整类名: " + class2.getName());  

这是常用的形式

还有一种是获取内部的方法/属性

Class class1 = null;  
        class1 = Class.forName("cn.lee.demo.Person");  
        Object obj = class1.newInstance();  
          
        Field personNameField = class1.getDeclaredField("name");  
        personNameField.setAccessible(true);  
        personNameField.set(obj, "胖虎先森");  
          
          
        System.out.println("Demo5: 修改属性之后得到属性变量的值:" + personNameField.get(obj));

可以操作类内部的属性和方法

扫描二维码推送至手机访问。

版权声明:本文由u3blog发布,如需转载请注明出处。

本文链接:https://u3blog.xyz/?id=81

分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。