Coding & Programming > Programming Forum

What is a Private Constructor?

(1/2) > >>

beingchinmay:
 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.

Navigation

[0] Message Index

[#] Next page

Go to full version