请老师检查
来源: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
已完成练习,棒棒哒!继续加油!
祝学习愉快!
相似问题