A subclass only access a protected members of its parent class, if it involves implementation of its parent. But in a different package, it cannot access the protected member though parent instance. You can’t use a protected constructor in a class that extends the constructor’s class, other than via an implicit or explicit super() to invoke the protected constructor. http://www.stevideter.com/2008/05/04/understanding-the-protected-access-modifier-and-inheritance-in-java/ http://mindprod.com/jgloss/protectedscope.html