3-7自由编程

来源:3-7 自由编程

千_夜

2020-05-16 22:04:09

图书类Book
-------------------------------------------------
package com.imooc.test;

public class Book {
	private int bookId;
	private String bookName;
	public float bookPrice;
	
	public Book() {
		super();
	}

	
	public Book(int bookId, String bookName, float bookPrice) {
		super();
		this.bookId = bookId;
		this.bookName = bookName;
		this.bookPrice = bookPrice;
	}


	
	
	@Override
	public String toString() {
		return "Book [bookId=" + bookId + ", bookName=" + bookName + ", bookPrice=" + bookPrice + "]";
	}
	
	
	
	
	
	
}
测试类BookTest
-------------------------------------------------
package com.imooc.test;

import java.lang.reflect.Field;

import org.junit.Test;

public class BookTest {

	@Test
	/**
	 * 通过Field获得图书名称属性,为图书名称设置新值并输出
	 */
	public void test1() throws Exception {
		//获得Class
		Class c1 = Class.forName("com.imooc.test.Book");
		//获得私有属性
		Field f1 = c1.getDeclaredField("bookName");
		//操作属性
		Book bk = (Book) c1.newInstance();
		//设置私有属性访问权限
		f1.setAccessible(true);
		f1.set(bk, "JAVA从入门到精通");
		Object obj = f1.get(bk);
		System.out.println("图书名称是:"+obj);
	}
	
	@Test
	/**
	 * 通过Field获得图书价格属性,为图书价格设置新值并输出
	 */
	public void test2() throws Exception {
		//获得Class
		Class c1 = Class.forName("com.imooc.test.Book");
		//获得公有属性
		Field f1 = c1.getField("bookPrice");
		Book bk = (Book) c1.newInstance();
		f1.set(bk, 69);
		Object obj = f1.get(bk);
		System.out.println("图书价格是:"+obj+"元");
	}
}


写回答

1回答

好帮手慕小脸

2020-05-17

同学你好,代码完成正确,加油,祝学习愉快~

0

0 学习 · 8016 问题

查看课程

相似问题