老师看看代码这样写可以吗?
来源:3-7 自由编程
慕无忌1192597
2020-01-07 15:51:51
package pers.uyz.reflect;
import java.lang.reflect.Field;
import org.junit.jupiter.api.Test;
public class BookTest {
@Test
public void demo() throws Exception {
// 获取Class
Class class1 = Class.forName("pers.uyz.reflect.Book");
// 获取私有属性
Field field1 = class1.getDeclaredField("id");
Field field2 = class1.getDeclaredField("name");
// 获取公有属性
Field field3 = class1.getField("price");
// 操作属性
Book book1 = (Book)class1.getDeclaredConstructor().newInstance();
// 设置可访问权限
field1.setAccessible(true);
field1.set(book1, "b01");
field2.setAccessible(true);
field2.set(book1, "十万个为什么");
field3.set(book1, 100.00);
Object obj1 = field1.get(book1);
Object obj2 = field2.get(book1);
Object obj3 = field3.get(book1);
System.out.println(book1);
}
}
package pers.uyz.reflect;
public class Book {
public Book() {
}
public Book(String id, String name, double price) {
this.id = id;
this.name = name;
this.price = price;
}
private String id;
private String name;
public double price;
public String toString() {
return "图书编号:" + id + ",图书名称:" + name + ",图书价格:" + price;
}
}1回答
同学你好,代码完成的不错!没有问题的,继续努力!
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题