java - 是否可以调用默认构造函数而不是零参数构造函数?

标签 java reflection constructor instantiation

我有一个 util 类,它应该使用反射调用给定 Class 对象上的方法。

现在它使用 .newInstance() 创建一个新实例,然后调用我想要测试的方法。

问题是我的一些类的零参数构造函数由于缺少依赖项等而抛出异常,并阻止我调用我真正想要测试的方法。

是否可以调用Java的默认构造函数来创建实例,而不是自定义零参数构造函数?

最佳答案

如果类没有定义构造函数,则只有默认构造函数。

无参数构造函数应该只接受您给它的依赖项(即没有),并且您似乎相信您仍然可以使用该类而无需额外的依赖项。

在 Sun/Oracle JVM 中,您可以使用 Unsafe.allocateInstance(Class) 来创建实例而不调用构造函数,但我会首先尝试修复您的类设计。

关于java - 是否可以调用默认构造函数而不是零参数构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896151/

相关文章:

java - Android Studio : Passing variable through another variable doesn't work

java - GWT - History.getToken() 始终返回空白值

c# - 重新抛出 ex.InnerException 是个坏主意?

c# - 如何创建 Nullable<T> 的实例?

c# - 什么是 (fnptr)* 类型以及如何创建它?

c++ - 使用桥接模式 C++ 实现复制构造函数

java - Jersey 和 Jackson 的 REST-Web 服务示例中出现 404 错误

java - java中的可调用与供应商接口(interface)

Java - 第一次使用构造函数 - 作业

c# - 在其构造函数中使用类 C# - 有味道吗?