gpt4 book ai didi

java - 动态实例化类?

转载 作者:行者123 更新时间:2023-12-01 17:34:46 27 4
gpt4 key购买 nike

假设我有这个数组:

String[] names = {"stack1", "stack2", "stack3"};

是否可以实例化Stack动态使用这些名称,因此将有 3 个名为 stack1 的对象, stack2 ,和stack “?例如,在代码中,我想调用 stack1.pop()stack3.empty()

有人告诉我要查看反射,但仍然不确定如何查看。

最佳答案

如果你的类名在 String 中,你可以通过反射创建对象。 ,例如。

不能“动态”创建“变量”。例如:

String s = "foo";

// some magic that creates a variable identified by s

foo.callSomeMethod();

行不通

Java 中的变量(字段、局部变量和参数)只能在编译时创建。

可以做的(这有时是正确的方法)是创建一个 Map<String,YourType>并通过此映射使用给定的 String 保存每个新创建的对象:

Map<String,MyType> map = new HashMap<String,MyType>;
String s = "foo";
map.put(s, new MyType());

// ...

map.get("foo").callSomeMethod();

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

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