我想创建一个类数组,然后遍历该数组并实例化该数组中每个类的对象。
我尝试了以下方法:
Class[] classes = {Gummy.class, Chocolate.class, Lollipop.class};
for (Class candyClass : classes) {
for (int i = 0; i < r.nextInt(5); i++) {
candyList.add(new candyClass(r.nextDouble() + 0.1 * 20));
}
}
我得到了这个错误:
CandyTester.java:19: error: cannot find symbol
candyList.add(new candyClass(r.nextDouble() + 0.1 * 20));
^
symbol: class candyClass
location: class CandyTester
1 error
我真的不知道从哪里开始,因为我不太确定java类与对象之间的关系。
问题来源:Stack Overflow
使用方法newInstance(args),该方法使用特定的构造函数实例化类的新对象。
Object candy = candyClass.getDeclaredConstructor(Double.class).newInstance(r.nextDouble() + 0.1 * 20);
candyList.add((Candy) candy);
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。