Constructor can use any access modifiers, including private. (A private constructor means only code within the class itself can instantiate an object of that type, so if the private constructor class wants to allow an instance of the class to an instance created within the class
I don't have c clear understand in that bold para. And see the below coding....
makes a Compilation error as I expected [ClassA(int) has private access in ClassA]. What is the solution? Thanks in Advanced!
This message was edited 1 time. Last update was at by Abimaran Kugathasan
|BSc in Electronic Eng| |SCJP 6.0 91%| |SCWCD 5 92%|
Neha Daga
Ranch Hand
Joined: Oct 30, 2009
Posts: 504
posted
0
this means that if the constructor of a class is private it can only be instantiated within that class and none of its subclass will be able to call that private constructor and hence none of the subclass can be instantiated with call to that private constructor.
In your code you can change the modifier of constructor from private to protected this way your subclass will be able too call that constructor.
This means that if you wants to create an instance of the class with private constructor, you have to provide a mean to initiate that class from within the class itself.
In your class you have to provide a static method which will return object of it's own class like
and you can use this class as:
Classes with private constructor are useful when you don't want a class to be extended by some other class Or when you want to create a class as singleton.