java - 实例化一个类,直到运行时才知道其类型,并且不进行反射

标签 java

是否有任何方法可以在运行时之前不知道其类型且不使用反射的情况下实例化类?

如果我希望实例化的所有类都扩展相同的抽象类或实现相同的接口(interface),那么这是一个合理的请求。然而,因为即使它们这样做,你也不能在这些类上强制执行构造函数,所以我想不出一种方法来做到这一点。

最佳答案

没有。首先创建反射的部分原因是为了让您可以在运行时实例化一个类,而无需提前知道其类型。

您听起来像是在问如何执行类似的操作,其中 $CLASS 是运行时定义的包的名称:

eval {
    require "$CLASS";
};
die $@ if $@;
$newObj = $CLASS->new();

嗯,伙计,这就是 Sun 添加反射的原因...

关于java - 实例化一个类,直到运行时才知道其类型,并且不进行反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7176757/

相关文章:

java - 是否可以使用同一个线程来一一执行多个任务,而无需销毁并重新创建线程?

java - 由于编译器错误和警告,我无法运行 JFrame

java - SHA256withRSA 和 SHA256 然后 RSA 之间的区别

java - 需要 6 位小数的纬度正则表达式

java - 没有服务器响应的 SSL 握手与 java 1.8

java - 如何从静态主方法依赖注入(inject)运行时参数

java - 为什么 Java 有 4 种不同类型的引用?

java - 如何下载位于 S3 存储桶上的整个文件夹?

java - 通过网络发送具有自定义属性的文件

java - Hibernate getNamedQuery执行其他UPDATE TABLE