请老师检查
来源:2-6 自由编程
weixin_慕码人9127363
2021-03-24 16:15:31
package com.zhong.reflect.Entity;
public class Goods {
private String goodNo;
private String goodName;
private Float goodPrice;
private String goodDesc;
public Goods() {
}
public Goods(String goodNo, String goodName, Float goodPrice, String goodDesc) {
this.goodNo = goodNo;
this.goodName = goodName;
this.goodPrice = goodPrice;
this.goodDesc = goodDesc;
}
public String getGoodNo() {
return goodNo;
}
public void setGoodNo(String goodNo) {
this.goodNo = goodNo;
}
public String getGoodName() {
return goodName;
}
public void setGoodName(String goodName) {
this.goodName = goodName;
}
public float getGoodPrice() {
return goodPrice;
}
public void setGoodPrice(Float goodPrice) {
this.goodPrice = goodPrice;
}
public String getGoodDesc() {
return goodDesc;
}
public void setGoodDesc(String goodDesc) {
this.goodDesc = goodDesc;
}
@Override
public String toString() {
return "Goods{" +
"goodNo='" + goodNo + '\'' +
", goodName='" + goodName + '\'' +
", goodPrice=" + goodPrice +
", goodDesc='" + goodDesc + '\'' +
'}';
}
public void display(String desc){
this.goodDesc=desc;
System.out.println("商品描述更改为:"+desc);
}
}
package com.zhong.reflect.Test;
import com.zhong.reflect.Entity.Goods;
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("com.zhong.reflect.Entity.Goods");
Constructor constructor=goodsClass.getConstructor(new Class[]{
String.class,String.class,Float.class,String.class});
Goods good=(Goods)constructor.newInstance(new Object[]{
"001","mooc手机",3999f,"6.58英寸大屏,超长待机"});
System.out.println(good);
Method method=goodsClass.getMethod("display",String.class);
Goods desc=(Goods)method.invoke(good,"6.58英寸大屏,超长待机,超级快充,6400万高清四摄");
System.out.println(good);
} 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回答
同学你好,已完成练习,不过有一个小建议,当类名由一个单词组成时,该单词首字母大写;如果类名由多个单词组成,则每个单词的首字母均大写。如:test应改为:Test
祝学习愉快!
相似问题