首页 > 其他分享 >获取属性和对属性进行赋值

获取属性和对属性进行赋值

时间:2022-10-23 16:36:11浏览次数:46  
标签:属性 Field System name 获取 println out 赋值

package com.liu.test03;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

/**
 * @author : liu
 * 日期:15:46:06
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class Test02 {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws Exception {
        //获取运行时类的字节码信息
        Class cls=Student.class;
        //获取属性:
        //getFields获取运行时类和父类中被public修饰的属性
        Field[] fields = cls.getFields();
        for (Field field:fields
             ) {
            System.out.println(field);
        }
        System.out.println("--------------------");
        //getDeclaredFields获取运行时类中的所有属性
        Field[] declaredFields = cls.getDeclaredFields();
        for (Field declaredField : declaredFields) {
            System.out.println(declaredField);
        }
        System.out.println("---------------");
        //获取指定的属性
        Field name = cls.getField("name");
        System.out.println(name);
        Field sno = cls.getDeclaredField("sno");
        System.out.println(sno);
        System.out.println("------------------");
        //属性的具体结构:
        //获取修饰符
        int modifiers = name.getModifiers();
        System.out.println(modifiers);
        System.out.println(Modifier.toString(modifiers));
        System.out.println(Modifier.toString(name.getModifiers()));
        //获取属性的类型
        Class aClass = name.getType();
        System.out.println(aClass.getName());
        //获取属性的名字:
        String name1 = name.getName();
        System.out.println(name1);

        System.out.println("--------------------");
        //给属性赋值:(给属性设置值必须要有对象)
        Field sco = cls.getField("score");
        Object obj = cls.newInstance();
        sco.set(obj,98);//给obj这个对象的score属性设置具体的值,这个值为98
        System.out.println(obj);
    }


}

 

标签:属性,Field,System,name,获取,println,out,赋值
From: https://www.cnblogs.com/jeldp/p/16818799.html

相关文章