Java - abstract class have constructor, private constructor - How to call the same