• Treflection03_getFields_getField


    1、

    package reflectionZ;
    
    import java.lang.reflect.Constructor;
    import java.lang.reflect.Field;
    
    public class Treflection03
    {
        public static void main(String[] args) throws Exception
        {
            // 第16课
            // getFields 和 getField
            
            Class<?> clazz1 = Class.forName("reflectionZ.Cat");
            
            // 通过Class对象来得到构造函数
            Constructor<?> c2 = clazz1.getConstructor(String.class, int.class);
            Object obj = c2.newInstance("小猫咪", 1);
            
            Field field = clazz1.getField("FstrName");
            //field.getModifiers(); // 返回修饰符
            String strName = (String)field.get(obj);
            System.out.println("strName : "+strName);
            
            Field field02 = clazz1.getDeclaredField("Fstr1");
            field02.setAccessible(true); // 暴力访问
            String str1 = (String)field02.get(obj);
            System.out.println("str1 : "+str1);
            
            // 这里看出来,反射机制 对于属性的set/get 貌似不是通过 setter/getter方法...
            field.set(obj, "XiaoMaoMi");
            strName = (String)field.get(obj);
            System.out.println("strName : "+strName);
        }
    }

    2、

  • 相关阅读:
    Vue中computed和watch的区别
    JS基础语法
    JDBC
    表设计
    查询语句
    反射
    网络端
    多线程
    HashMap
    IO
  • 原文地址:https://www.cnblogs.com/javaskill/p/5428282.html
Copyright © 2020-2023  润新知