问题标签 [private-constructor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2467 浏览

java - 在 Java 中扩展实用程序类的最佳实践

我已经从 apache-commons-3 扩展了类,以添加我自己的实用程序函数,这些函数在它们中不可用。例如:

这解决了我通过同一个类使用我的函数和公共函数的目的CollectionUtils

但是,Apache 在版本 4 中通过在实用程序类中引入私有构造函数删除了可扩展性。这里也有同样的讨论。

现在,如果我升级到版本 4,我的代码就会中断。扩展实用程序类以添加自定义/特定实用程序方法的最佳实践是什么?

0 投票
1 回答
1106 浏览

angularjs - 如何在私有构造函数中注入服务

我有一个现有的代码通过私有构造函数和返回对象实例来实现单例模式 -

我需要向这个工厂注入一个依赖项。我将我的代码更改为以下 -

请建议,我如何在构造函数中的对象创建时注入依赖项?

0 投票
2 回答
154 浏览

java - 为什么用反射检查我的私有构造函数是公共的?

我有(在许多其他没有这个问题的 Util 类中)一个 FileUtil 类,它没有通过私有构造函数的测试。

类定义是:

如上所述,我有许多其他类经过测试是否具有私有构造函数。测试方法是:

但是对于此类 - 并且仅对于此类 - isPrivate() 方法返回 false 并且如果在调试器中检查,则构造函数确实显示为公共。但是,如果尝试以编程方式调用构造函数,Eclipse 会告诉我该方法不可见。

我正在使用 Eclipse 和 Maven,当调用 Maven 构建时,问题显示在 Eclipse 和命令行中。所以这确实是一个 Java 问题,但是当我在整个库中毫无问题地使用这种模式时,我不明白为什么它只在这个类上失败。

有什么想法吗?

0 投票
2 回答
1932 浏览

java - 具有静态方法java的类中的私有构造函数

我正在尝试创建一个按标记降序对数组列表进行排序的类。由于我所有的方法都是静态的,我想编写一个构造函数来防止类实例化,但不知道如何去做。我读到可以使用私有构造函数,但不确定如何对其进行编码。

这是我的代码:

0 投票
0 回答
222 浏览

c++ - 将默认值设置为单例

我有使用gmock 框架进行测试覆盖的单例类。某些方法(例如示例中的 method1())在调用期间会更改类的字段。有没有办法在不修改TestingClass的情况下为类的字段设置默认值?

例子:

0 投票
2 回答
341 浏览

c# - 自动实现的属性是否使用私有构造函数进行初始化

我正在深入阅读 Jon Skeet 的 C# 并遇到了对C# 3中自动实现属性的解释。

代码是:

解释这一点的文字是

现在属性没有任何代码(或可见变量!)与之关联,并且您正在以非常不同的方式构建硬编码列表。由于没有要访问的名称和价格变量,您不得不在类中的任何地方使用属性,从而提高一致性。为了新的基于属性的初始化,您现在有一个私有的无参数构造函数。(在设置属性之前为每个项目调用此构造函数。)在此示例中,您可以完全删除公共构造函数,但没有外部代码可以创建其他产品实例。

我无法将头绕在以粗体标记的部分。它说私有构造函数用于自动实现的属性,并且每次在设置之前都会调用它。但是,即使我在其中放置了一个控制台,它也没有被调用。即使删除了私有构造函数,代码也运行良好。

我知道私有构造函数在 C# 中的作用,但如果它来自上面的文本,我无法理解它与自动实现的属性有何关系。

0 投票
3 回答
2432 浏览

c++ - make_unique 不能为创建单例实例而编译

全部,

我正在使用 C++14,并且正在制作或多或少的标准 Singleton。我正在使用最新的 Visual Studio 2017。此代码有效:

但是,当我将单例实例的创建更改为:

我得到一个编译错误,我试图访问一个私有成员:

这对我来说就像一个错误,因为这两种形式在功能上应该是相同的?想法?

0 投票
2 回答
2016 浏览

java - 带参数的Java私有构造函数

新手问题。在java中使用带参数的私有构造函数是否有意义?由于只能在类中访问私有构造函数,因此任何参数都必须是该类的实例变量吗?

0 投票
4 回答
127 浏览

c# - 我们可以使用 Private Constructor 创建超过 1 个实例吗?

我们都知道我们不能创建具有私有构造函数的类的对象。所以问题是这个类可以创建多少个实例。请在下面找到示例代码。

据我所知,它应该创建该类的 2 个对象。需要帮助理解这一点。

0 投票
2 回答
215 浏览

c# - 没有密封类和线程安全问题的单例

我今天在采访中被要求写 Singleton。我写了下面,请注意,我使用“属性集”方法进行设置,然后我使用“获取”方法返回了实例。但是我在互联网上看到他们使用的大多数地方只能得到,意思是,我在下面做错了什么?抱歉,我现在没有 VS ide 来验证它,所以在这里发布。

此外,一些使用密封类,包括私有构造函数。为什么要用私人缺点密封?