请老师检查作业

来源: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

同学完成的不错,加油,祝学习愉快~

0

0 学习 · 8016 问题

查看课程