I know that if we make a Constructor private you can't instanciate that class.
Sure you can. A public method in a class can access private members--including private methods.
But if i make it Public or Protected i can still instanciate it. So what is the difference between maing a Constructor Protected instead of Public
A class that is not in the same package as a class that has a protected constructor cannot create objects of that class (that is assuming there is no helper method like in the above example). Or, in other words, if a class has a protected constructor, then only classes in the same package can create objects of that class.
On the other hand, if a class has a public constructor, then any class can create objects of that class.
[ October 27, 2006: Message edited by: sven studde ]