Private Constructor in Java

2025 年 5 月 10 日 | 阅读 3 分钟

在Java中,构造函数是一种特殊的函数,其名称与类名相同。在内部,当我们创建一个类的对象时,总是会调用构造函数。它用于初始化对象的state。

同样,Java也允许我们创建私有构造函数。在本节中,我们将讨论Java中的私有构造函数、创建私有构造函数的规则及其用例。我们还将看到它的实现。

什么是私有构造函数?

Java允许我们将构造函数声明为私有的。我们可以通过使用private访问修饰符将构造函数声明为私有的。请注意,如果一个构造函数被声明为私有的,我们就不能创建该类的对象。相反,我们可以在单例设计模式中使用此私有构造函数。

私有构造函数的规则

处理私有构造函数时,请记住以下规则。

  • 它不允许类被子类化。
  • 它不允许在类外部创建对象。
  • 如果一个类有一个私有构造函数,并且当我们尝试扩展该类时,会发生编译时错误。
  • 我们无法从任何其他类访问私有构造函数。
  • 如果我们的类中存在所有常量方法,我们可以使用私有构造函数。
  • 如果所有方法都是静态的,则可以使用私有构造函数。
  • 如果对象未初始化,我们可以使用公共函数调用私有构造函数。
  • 如果对象已初始化,我们只能返回该对象的实例。

私有构造函数的用例

使用私有构造函数的主要目的是限制对象的创建。我们还使用私有构造函数来实现单例设计模式。私有构造函数的用例如下:

  • 它可以与仅包含静态成员的类一起使用。
  • 它可以与静态实用程序或常量类一起使用。
  • 它也可以用来创建单例类。
  • 它可用于通过使用工厂方法来分配名称(例如,创建)。
  • 它也用于避免子类化。
  • 它包含了工厂方法。

让我们看看私有构造函数的实现。

私有构造函数的实现

A.java

输出

Private Constructor in Java

PrivateConstructorDemo.java

输出

true