老师请检查
来源:2-6 自由编程
慕工程8205364
2021-06-03 13:49:23
package com.imooc.reflect.zy;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class ReflectSample {
public static void main(String[] args) {
try {
Class goodsClass = Class.forName("com.imooc.reflect.zy.Goods");
Constructor constructor = goodsClass.getConstructor(new Class[]{
Integer.class, String.class, Float.class, String.class
});
Goods goods = (Goods) constructor.newInstance(new Object[]{
001, "mooc手机", 3999.0f, "6.58英寸大屏,超长待机"
});
System.out.println(goods);
Method xgDesp = goodsClass.getMethod("xgDesp", String.class);
xgDesp.invoke(goods, new Object[]{
"6.58英寸大屏,超长待机,超级快船,6300万高清像素"
});
System.out.println(goods);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
package com.imooc.reflect.zy;
public class Goods {
private Integer id;
private String name;
private Float price;
private String desp;
public Goods() {
}
public Goods(Integer id, String name, Float price, String desp) {
this.id = id;
this.name = name;
this.price = price;
this.desp = desp;
}
public Integer getId() {
return id;
}
public void setId(Integer 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 getDesp() {
return desp;
}
public void setDesp(String desp) {
this.desp = desp;
}
@Override
public String toString() {
return "Goods{" +
"id=" + id +
", name='" + name + '\'' +
", price=" + price +
", desp='" + desp + '\'' +
'}';
}
public void xgDesp(String desp) {
this.desp = desp;
System.out.println(name + "手机更改后的商品描述为:" + this.desp);
}
}
1回答
已完成练习,棒棒哒!继续加油!
祝学习愉快!
相似问题