Java反射类3-4自由编程
这是Goods商品类:
package com.winking.fanshe; public class Goods { public Goods() { super(); } public Goods(int num, String name, int price, String desp) { super(); this.num = num; this.name = name; this.price = price; this.desp = desp; } private int num; private String name; private int price; private String desp; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public String getDesp() { return desp; } public void setDesp(String desp) { this.desp = desp; } @Override public String toString() { return "Goods [num=" + num + ", name=" + name + ", price=" + price + ", desp=" + desp + "]"; } public void display() { System.out.println(num+" "+name+" "+price+" "+desp); } }
这是Constructor测试类:
package com.winking.fanshe; import java.lang.reflect.Constructor; import org.junit.Test; public class ConstructorTest_GoodTest { @Test /** * 获得无参的构造方法 */ public void demo1() throws Exception{ Class class1 =Class.forName("com.winking.fanshe.Goods"); Constructor c =class1.getConstructor(); Goods goods =(Goods) c.newInstance(); goods.display(); } /** * 获得有参的构造方法 * @throws Exception */ public void demo2() throws Exception { Class class2=Class.forName("com.winking.fanshe.Goods"); Constructor c2=class2.getConstructor(Integer.class,String.class,Integer.class,String.class); Goods goods2=(Goods) c2.newInstance(2,"我",5,"是我"); System.out.println(goods2); } }
获得无参的构造方法demo2()方法运行会出现红色条,而demo1()是运行成功的。
3
收起
正在回答 回答被采纳积分+1
1回答
好帮手慕阿莹
2019-08-05 18:43:08
同学你好,我在问答 https://class.imooc.com/course/qadetail/141475 中回答了同学的问题,请同学再看一下。
如果还是有问题,可以继续提问
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
3. Java 数据库开发与实战应用
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星