52得票7回答
私有构造函数

可能是重复问题: 在类中将构造函数设为私有的用途是什么? 我们何时需要一个私有构造函数?如何实例化一个具有私有构造函数的类?

43得票4回答
如何在C#中使用私有构造函数实例化对象?

我肯定记得在某处看到过使用反射或其他方法来实现这一点的示例。它涉及到 SqlParameterCollection 这个不能被用户创建的东西(如果我没记错的话)。不幸的是,我再也找不到了。 有人可以在这里分享这个技巧吗?我并不认为这是开发中有效的方法,但我对实现这个的可能性非常感兴趣。

42得票4回答
Scala案例类私有构造函数但公共应用程序方法

如果我有以下的 case class,它拥有私有构造函数并且我无法访问伴生对象中的 apply 方法。case class Meter private (m: Int) val m = Meter(10) // constructor Meter in class Meter cannot ...

37得票4回答
Java枚举无值与私有构造函数的实用类之间的区别

一种常见的处理实用类的方法是给它们私有构造函数:(参考链接) public final class UtilClass { private UtilClass() {} ... } 但不幸的是,有些工具不喜欢这个私有构造函数。它们可能会警告说它从未在类内被调用,它没有被测试...

37得票1回答
抽象类与私有构造函数

我有一个Java类,里面只有静态方法和字段,因此我不希望为它创建任何对象。 我可以用两种方式来实现这个目的: 将该类设为抽象类。 使用私有构造函数。 这两种方法哪一种更好呢?

27得票7回答
声明构造函数为private和=delete有什么区别?

例如,我想声明一个类,但我希望客户端无法使用复制构造函数(或复制赋值运算符)。 以下两种方法都不允许使用复制构造函数: 1.class Track { public: Track(){}; ~Track(){}; private: Track(const Track&)...

17得票2回答
在宏中使用私有构造函数

我想在宏中使用私有构造函数。这个例子是一个正整数,但基本模式不仅可以用于其他数字类型,如偶数,还可以用于字符串派生类型,如电子邮件地址或目录名称。通过将构造函数设为私有,用户被拒绝了创建非法类型的机会。我的代码如下:object PosInt { import language.exper...

14得票3回答
实例化一个派生类对象,其基类构造函数是私有的。

如何实例化一个派生类对象,其基类构造函数是私有的? 由于派生类构造函数隐式调用基类构造函数(该构造函数是私有的),因此编译器会出现错误。 请考虑下面这个示例代码:#include <iostream> using namespace std; class base { ...

14得票6回答
JaCoCo和私有默认构造函数的漏报覆盖率

我希望看到一个例子,防止JaCoCo将Java类中的私有空构造函数报告为未覆盖的代码。 在Maven插件配置中,我有: <rule> <element>CLASS</element> <excludes> ...

13得票6回答
为什么HTTPServlet是一个抽象类?有任何功能上的原因吗?

HttpServlet 是一个带有所有实现方法的抽象类。为什么它是抽象的? 我得到的最常见的答案是,为了限制 HttpServlet 的实例化。但是还有其他的方法,比如私有构造函数也可以限制实例化。 我可以理解他们在遵循模板方法设计模式。如果一些方法是抽象的,用户最终会实现它们所有,即使他...