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("\nf2:"); 
        for(Field field:f2)//遍历循环输出 
        { 
            System.out.println(field); 
        } 
 
 
        //通过Class.getField(String name)返回一个类或接口的指定公共成员字段,私有成员报错。 
        Field f3=person.getClass().getField("name"); 
        System.out.println("\n"+f3); 
 
 
        //通过Class.getFields(),返回 Class 对象所表示的类或接口的所有可访问公共字段。 
        Field []f4=person.getClass().getFields(); 
        System.out.println("\nf4:"); 
        for(Field fields:f4) 
        { 
            //因为只有name属性为共有,因此只能遍历出name属性 
            System.out.println(fields); 
        } 
    }

 

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

直接插入排序