gpt4 book ai didi

java - 在java中动态实例化一个对象

转载 作者:行者123 更新时间:2023-11-30 08:41:05 24 4
gpt4 key购买 nike

我不知道我的标题是否正确,但是,我正在寻找一种方法来根据用户输入实例化子类的新对象。 IE,我想问用户他们想创建什么子类,然后根据那个选择创建它。所以它可能看起来像

 String category = CATEGORIES[Integer.parseInt(scanner.nextLine())];   
items.add(new category(myString, myInt));

我正在将这些添加到 ArrayList 中。

这个新关键字似乎只接受一个实际的类,而不是其他任何东西。我玩过内置的类方法,但是当我尝试将它们放在新调用之后时,它失败了。除了类(class)本身之外,我在 new 调用之后放置的几乎所有内容都失败了。

这是可能的吗?

谢谢!

最佳答案

你正在寻找反射,并且 Class.forName()Class.forName().newInstance()

看: What is the difference between "Class.forName()" and "Class.forName().newInstance()"?

有一个例子。

另请参阅: Initializing a class with Class.forName() and which have a constructor which takes arguments

关于java - 在java中动态实例化一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35303072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com