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.
For example:
When we declare a class constructor as private , we can not do 2 things:-
1. We can not create a object of the class.
2. We can not inherit the class.
For example:
public class Counter { private Counter() { } public static int currentCount; public static int IncrementCount() { return ++currentCount; } } class TestCounter { static void Main() { // If you uncomment the following statement, it will generate // an error because the constructor is inaccessible: // Counter aCounter = new Counter(); // Error Counter.currentCount = 100; Counter.IncrementCount(); Console.WriteLine("New count: {0}", Counter.currentCount); // Keep the console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } // Output: New count: 101
When we declare a class constructor as private , we can not do 2 things:-
1. We can not create a object of the class.
2. We can not inherit the class.