gpt4 book ai didi

java - Java中使用变量调用构造函数而不引用显式类类型?

转载 作者:行者123 更新时间:2023-12-02 06:18:43 24 4
gpt4 key购买 nike

是否有可能使用变量实例化一个类,而无需显式调用对象的类类型?

例如,我们有一个类 cat 和一个代表 String cat 的字符串。是否可以像下面这样或在代码中类似的方式调用类 cat ?

public class MyMainClass {

public static void main(String[] args) {

String name="cat";

//normal methode of instancing the class Cat:
Cat cat=new Cat();

//my method
name cat=new name(); // because name="cat" this should be Cat cat=new Cat();

}
}


class Cat{
// whatsoever
}

最佳答案

使用反射:

String nameString = "com.example.Test";
Class name = Class.forName(nameString);
Object instance = name.newInstance();
Test test; // Defined if is instanceof Test

if(instance instanceof Test) {
// Yeah! now you can do this: test = (Test)instance; and something else...
}

注意:您必须在字符串中输入完整的包名称。

关于java - Java中使用变量调用构造函数而不引用显式类类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21212224/

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