Is it possible to define a private abstract class in Java? How would a Java developer write a construct like below?
public abstract class MyCommand {
pub
You can't have private abstract methods in Java.
When a method is private, the sub classes can't access it, hence they can't override it.
If you want a similar behavior you'll need protected abstract method.
It is a compile-time error if a method declaration that contains the keyword
abstractalso contains any one of the keywordsprivate,static,final,native,strictfp, orsynchronized.
And
It would be impossible for a subclass to implement a
private abstractmethod, becauseprivatemethods are not inherited by subclasses; therefore such a method could never be used.
Resources :
That would be protected instead of private. It means that only classes that extend MyCommand have access to the two methods. (So do all classes from the same package, but that's a minor point.)