课题打卡-请老师检查
来源:2-6 自由编程
慕神0457710
2020-09-13 01:51:42
public class Goods { private String id; private String name; private float price; private String desc; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } 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; } public Goods() { } public Goods(String id, String name, float price, String desc) { this.id = id; this.name = name; this.price = price; this.desc = desc; } @Override public String toString() { return "Goods{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", price=" + price + ", desc='" + desc + '\'' + '}'; } public void display(String desc) { setDesc(desc); System.out.println("mooc手机更改后的商品描述更改为 "+desc); } }
import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Test { public static void main(String[] args) { try { Class goodsClass = Class.forName("Goods"); Constructor con = goodsClass.getConstructor(new Class[]{String.class,String.class,float.class,String.class}); Goods goods = (Goods)con.newInstance(new Object[]{"001","mooc手机",3999.f,"6400高清四摄"}); System.out.println(goods); Method display = goodsClass.getMethod("display",new Class[]{String.class}); display.invoke(goods,new Object[]{"6.58英寸大屏,超长待机,超级快充,6400万高清四摄"}); System.out.println(goods); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } }
1回答
已完成练习,棒棒哒!继续加油!
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题