On more than one occasion I have found myself desiring a variable visibility that is not possible in Java. I wanted certain members to be visible within their own class and
You should put your class in a package of it's own and mark the member(instance variable or method) as protected. This way no other classes, except the subclasses can access that member which you market as protected. You will end up with one class in one package, if you desperately want only subclasses to access that protected member.