posted 17 years ago
As mentioned, a constructor is required in an abstract class, to allow the concrete subclass to be instantiated.
However, not all possible access modifiers make sense for the constructor of an abstract class. The "public" modifier doesn't in practice offer any more access than "protected". The "private" modifier makes instantiation of a concrete subclass impossible; this only makes sense for a non-instantiable utility class (which is not very OO).
Normally, therefore, the constructor of an abstract class will be "protected". Occasionally, it might be package-private.
Betty Rubble? Well, I would go with Betty... but I'd be thinking of Wilma.