请老师检查作业
来源:3-7 自由编程
慕雪6185030
2020-01-17 09:08:45
package com.imooc.reflect.test;
public class Book {
private int id;
private String username;
public float price;
public Book() {
super();
// TODO Auto-generated constructor stub
}
public Book(int id, String username, float price) {
super();
this.id = id;
this.username = username;
this.price = price;
}
@Override
public String toString() {
return "Book [id=" + id + ", username=" + username + ", price=" + price + "]";
}
}
package com.imooc.reflect.test;
import java.lang.reflect.Field;
import org.junit.Test;
public class ConstructorBook {
/**
* 设置私有属性
* @throws Exception
*/
@Test
public void demo1() throws Exception {
//获得Class
Class class1 = Class.forName("com.imooc.reflect.test.Book");
//获得属性:
Field field =class1.getDeclaredField("username");
//操作属性:
Book b =(Book) class1.newInstance();
//私有属性,需要设置一个可访问的权限:
field.setAccessible(true);
field.set(b,"西游记");
//获取值
Object obj =field.get(b);
System.out.println(obj);
System.out.println(b);
}
/**
* 设置公有属性
* @throws Exception
*/
@Test
public void demo2() throws Exception {
//获得Class
Class class1 = Class.forName("com.imooc.reflect.test.Book");
//获得属性
Field field =class1.getField("price");
//操作属性
Book b =(Book) class1.newInstance();
field.set(b, 200f);
Object obj =field.get(b);
System.out.println(obj);
}
}
1回答
好帮手慕小班
2020-01-17
同学完成的不错,加油,祝学习愉快~
相似问题