请老师检查

来源:2-6 自由编程

home_11

2021-05-31 17:50:16

Goods.java

package pers.home11.reflect;

public class Goods {

    private String goodsId;

    private String goodsName;

    private Float price;

    private String desc;

    public Goods() {
    }

    public Goods(String goodsId, String goodsName, Float price, String desc) {
        this.goodsId = goodsId;
        this.goodsName = goodsName;
        this.price = price;
        this.desc = desc;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public String toString() {
        return "Goods{" +
                "goodsId='" + goodsId + '\'' +
                ", goodsName='" + goodsName + '\'' +
                ", price=" + price +
                ", desc='" + desc + '\'' +
                '}';
    }

    public void display(String desc) {
        this.desc = desc;
        System.out.println(this.goodsName + "更改后的商品描述:" + this.desc);
    }
}


GoodsReflectTest.java

package pers.home11.reflect;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class GoodsReflectTest {
    public static void main(String[] args) {
        Class goodsClass = null;
        try {
            goodsClass = Class.forName("pers.home11.reflect.Goods");

            Constructor constructor = goodsClass.getConstructor(new Class[]{
                    String.class, String.class, Float.class, String.class
            });
            Goods goods = (Goods) constructor.newInstance(new Object[]{
                    "001", "mooc手机", 3999f, "6.58英寸大屏,超长待机"
            });
            System.out.println(goods);
            Method method = goodsClass.getMethod("display", String.class);
            method.invoke(goods, "6.58英寸大屏,超长待机,超级快充,6400万高清四摄");
            Method goodsToString = goodsClass.getMethod("toString");
            System.out.println(goodsToString.invoke(goods));
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}

写回答

1回答

好帮手慕小尤

2021-05-31

已完成练习,棒棒哒!继续加油!

祝学习愉快!

0

0 学习 · 16556 问题

查看课程