Coding & Programming > Programming Forum
What is a Private Constructor?
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