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);
            }
        }
  • 相关阅读:
    高精度
    eps取值
    QtCreator常用快捷键
    C++11 麻辣烫
    谈一些关于华为鸿蒙的看法
    Termux新手基础+进阶学习笔记(间断更新)
    分享互联网2021年最新Java面试题汇总整理-附详细答案解析
    2021年面试,整理全网初、中、高级常见Java面试题附答案
    JS中使用map
    springboot整合MongoDB4.0多数据源实现事务
  • 原文地址:https://www.cnblogs.com/weibanggang/p/10118585.html
Copyright © 2011-2022 走看看