What is a Private Constructor?

Started by beingchinmay, 03-06-2017, 05:09:09

Previous topic - Next topic

beingchinmayTopic starter

 Used to prevent the user to instantiate the class directly.
 Used to prevent the creation of instances of a class when there are no instance fields or methods
 A private constructor is a special instance constructor.
 It is commonly used in classes that contain static members only.
 If a class has one or more private constructors and no public constructors, then other classes (except nested classes) are not allowed to create instances of this class.
 Note that if you don't use an access modifier with the constructor it will still be private by default.
 Private constructors are used to restrict the instantiation of object using 'new' operator.
 This type of constructors is mainly used for creating singleton object.
 Can use nested class (Inner Class) or static method to initialize a class having private constructor.
 Example of Private Constructor - Math class


richardmsmith

It is an special instance constructor. It is generally used in classes that contain static members only. If a class has one or more private constructors and no public constructors, other classes (except nested classes) cannot create instances of this class.


greatshivam

The private constructor is useful in case we want to restrict the object creation. For example, Singleton pattern can be implemented using a private constructor.

Example-

public class Tester {
   private static Tester instance;
   private Tester(){}

   public static Tester getInstance(){
      if(instance == null){
         instance = new Tester();
      }
      return instance;
   }

   public static void main(String[] args) {
      Tester tester = Tester.getInstance();
      Tester tester1 = Tester.getInstance();
      System.out.println(tester.equals(tester1));
   } 
}

It will print the output as-

true
  •  

Lishmalinyjames

A private constructor is a special instance constructor. It is generally used in classes that contain static members only. If a class has one or more private constructors and no public constructors, other classes (except nested classes) cannot create instances of this class.

saravanan28

A private constructor is a special instance constructor. It is generally used in classes that contain static members only. If a class has one or more private constructors and no public constructors, other classes (except nested classes) cannot create instances of this class.
  •  


Lishmalinyjames

A private constructor is a special instance constructor. It is generally used in classes that contain static members only. If a class has one or more private constructors and no public constructors, other classes (except nested classes) cannot create instances of this class.

dark404

It is a unique occurrence constructor. For the most part utilized in classes contain static individuals as it were. In the event that a class has at least one confidential constructors and no open constructors, different classes (with the exception of settled classes) can't make cases of this class.

codiant

A private constructor is a special instance constructor. It is generally used in classes that contain static members only. If a class has one or more private constructors and no public constructors, other classes (except nested classes) cannot create instances of this class.