通过Field(反射)给私有字段赋值
public class Person {
怎么种蘑菇
public String name;
public char x;
private int age;
public String getName() {
return name;
}
public char getSex() {
return x;
}
public int getAge() {
return age;年年有鱼简笔画
}
public void tName(String name) {
this.name = name;
}
public void tSex(char x) {
this.x = x;
}
public void tAge(int age) {
this.age = age;系鞋带的漂亮方法
入党转正申请书}
}
进⾏赋值:
public static void main(String[]args) throws NoSuchFieldException, SecurityException
{
发货通知单Person person =new Person();
//通过DeclaredField(String name)获取类或接⼝的指定已声明字段。
Field Class().getDeclaredField("name");//指定获取name变量
玩的词语System.out.println("f1:"+f1);
//通过DeclaredFields()获取类或接⼝的指定已声明字段。 ->得到的是⼀个Field类型的数组 Field []Class().getDeclaredFields();
System.out.println("\nf2:");
for(Field field:f2)//遍历循环输出
{
System.out.println(field);
}
//通过Field(String name)返回⼀个类或接⼝的指定公共成员字段,私有成员报错。
Field Class().getField("name");
行政文秘System.out.println("\n"+f3);
//通过Fields(),返回 Class 对象所表⽰的类或接⼝的所有可访问公共字段。
Field []Class().getFields();
System.out.println("\nf4:");
for(Field fields:f4)
{
//因为只有name属性为共有,因此只能遍历出name属性
System.out.println(fields);
}
}
posted @ 2018-12-14 11:44 阅读( ...) 评论( ...)哑铃动作