开发者社区> 问答> 正文

创建一个类数组,然后从中实例化对象

我想创建一个类数组,然后遍历该数组并实例化该数组中每个类的对象。

我尝试了以下方法:

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

展开
收起
montos 2020-03-23 13:26:14 685 0
1 条回答
写回答
取消 提交回答
  • 使用方法newInstance(args),该方法使用特定的构造函数实例化类的新对象。

    Object candy = candyClass.getDeclaredConstructor(Double.class).newInstance(r.nextDouble() + 0.1 * 20);
    candyList.add((Candy) candy);
    

    回答来源:Stack Overflow

    2020-03-23 13:26:46
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
对象的生命期管理 立即下载
继承与功能组合 立即下载