Rules of Private Constructor
- Private Constructor is generally used
when you don't want to create an object for the class. These are
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.
- If you do not use an access modifier with
the constructor it will still be private by default. The private modifier is
usually used explicitly to make it clear that the class cannot be
instantiated.
- A Private Constructor restricts access to
the constructor. It ensures the object can only be created by a member in
the type.
- We cannot inherit from classes that are
having only private constructors. The reason is suppose if you are
inheriting from a base class which has only private constructors and if you
create an object for the derived class then the base class constructor will
be called. Because the base class contains only private constructors and due
to ‘private' access modifier it is not accessible from the derived class. So
it will give you an error with a syntax as follows
‘Error 1 'ConsoleApplication2.Program.Program()' is inaccessible due to its
protection level'