• JAVA反射机制学习随笔


    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));

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

    -----人若无名,则可专心练剑
  • 相关阅读:
    322. Coin Change
    368.[LeetCode] Largest Divisible Subset
    c++
    python 循环
    2018今日头条
    c++中set的用法
    [LeetCode]48. Rotate Image 旋转图片
    [LeetCode]47. Permutations II
    [LeetCode]46. Permutations
    sys与os模块(转载)
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4309626.html
Copyright © 2020-2023  润新知