zoukankan      html  css  js  c++  java
  • 通过Field (反射)给私有字段赋值

    public class Person {
        public String name;
        public char sex;
        private int age;
    
        public String getName() {
            return name;
        }
    
        public char getSex() {
            return sex;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setSex(char sex) {
            this.sex = sex;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }

    进行赋值:

     public static void main(String[]args) throws NoSuchFieldException, SecurityException
        {
            Person person =new Person();
    
            //通过Class.getDeclaredField(String name)获取类或接口的指定已声明字段。
            Field f1=person.getClass().getDeclaredField("name");//指定获取name变量
            System.out.println("f1:"+f1);
    
    
            //通过Class.getDeclaredFields()获取类或接口的指定已声明字段。  ->得到的是一个Field类型的数组
            Field []f2=person.getClass().getDeclaredFields();
            System.out.println("
    f2:");
            for(Field field:f2)//遍历循环输出
            {
                System.out.println(field);
            }
    
    
            //通过Class.getField(String name)返回一个类或接口的指定公共成员字段,私有成员报错。
            Field f3=person.getClass().getField("name");
            System.out.println("
    "+f3);
    
    
            //通过Class.getFields(),返回 Class 对象所表示的类或接口的所有可访问公共字段。
            Field []f4=person.getClass().getFields();
            System.out.println("
    f4:");
            for(Field fields:f4)
            {
                //因为只有name属性为共有,因此只能遍历出name属性
                System.out.println(fields);
            }
        }
  • 相关阅读:
    ES5 05 Function扩展
    ES5 04 Array扩展
    ES5 03 Object扩展
    ES5 02 JSON对象
    ES5 01 严格模式
    Oracle 数据库复制
    PB函数大全
    Handle( ) //得到PB窗口型对象的句柄
    PB赋值粘贴 多个DW进行update
    pb 11 数据窗口空白,预览pb崩溃解决方案
  • 原文地址:https://www.cnblogs.com/weibanggang/p/10118585.html
Copyright © 2011-2022 走看看