我们可以在Java中使用私有的构造函数吗?

甲构造用于创建时初始化对象。从语法上讲,它类似于一种方法。区别在于,构造函数的名称与其类相同,并且没有返回类型。

无需显式调用构造函数,这些构造函数会在实例化时自动调用。

构造函数允许的访问说明符/修饰符

构造函数允许使用public,protected和private修饰符。

创建单例类时,我们可以在Java中使用私有构造函数。Singleton的目的是控制对象的创建,将对象的数量限制为一个。由于只有一个Singleton实例,因此Singleton的任何实例字段在每个类中只会出现一次,就像静态字段一样。单例通常控制对资源的访问,例如数据库连接或套接字。

访问私有构造函数

要访问私有构造函数(一种方法),请定义一个公共和静态方法,该方法创建并返回类的对象(使用私有构造函数)。

现在,您可以通过调用此方法来获取实例。

示例

在以下Java程序中,我们有一个名为Student的类,其构造函数是private。

在学生类中,我们有一个名称getInstance()为public和static的方法。此方法创建Student类的对象并返回它。

从另一个类中,我们正在调用此(getInstance())方法,并使用获得的实例/对象来调用display()Student类的方法。

class Student{

   private String name;

   private int age;

   private Student(){

      this.name = "Raju";

      this.age = 20;

   }

   public void display(){

      System.out.println("Name of the Student: "+this.name );

      System.out.println("Age of the Student: "+this.age );

   }

   public static Student getInstance() {

      Student object = new Student();

      return object;

   }

}

public class PrivateConstructorExample{

   public static void main(String args[]) {

      Student obj = Student.getInstance();

      obj.display();

   }

}

输出结果

Name of the Student: Raju

Age of the Student: 20

以上是 我们可以在Java中使用私有的构造函数吗? 的全部内容, 来源链接: utcz.com/z/357914.html

回到顶部