java - 实例化一个没有默认构造函数的类

标签 java introspection objectinstantiation

对于许多框架开发,我们需要通过从配置文件中读取合格的类名来实例化类。

有不同的内省(introspection)策略,以及专门的库(如 Objenesis)。

但是,对于没有默认构造函数(重载)的类,我相信如果我们不知道重载构造函数的签名,内省(introspection)就不起作用。非标准方法是使用 sun.misc.Unsafe 类来分配。这是我的理解。这样的理解正确吗?

那么这就存在一个问题,因为父类(super class)不是使用 Unsafe 实例化的。但我认为 Unsafe 与 C 代码“new”运算符调用的任何内容最接近,至少是其中的一部分。

所以问题是,当我们拥有的唯一信息是类的限定名称(当然,它存在于类路径!)

最佳答案

我不确定我是否理解你的问题,但通常在java中,如果你知道类名,你可以简单地写: 类名 myObject=new 类名();

关于java - 实例化一个没有默认构造函数的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19726617/

相关文章:

ios - 为什么 app delegate 应该为其他 viewController 中使用的属性创建实例?

java - 通过作为方法参数传递对象的副本

java - 少尝试/多捕获

java - 在Java中导入LinkedList报错

objective-c - 使用字典自动填充 Objective C 实例的所有属性

python - 如何内省(introspection) Cython C 扩展模块中定义的函数

python - 使用 module_from_spec 加载的 python 类中缺少源信息

java - 原始 + ""与 Wrapper.toString(原始)

java - c# 和/或 vb.net 相当于 apache commons Validate

java - 对象的对象实例化是否有性能影响有很多方法?