You make a class abstract by declaring it with keyword abstract. An abstract class normally contains one or more abstract methods. An abstract method is one with keyword abstract
in its declaration, as in
public abstract void draw(); // abstract method
Abstract methods do not provide implementations. A class that contains any abstract methods must be explicitly declared abstract
even if that class contains some concrete (nonabstract) methods. Each concrete subclass of an abstract superclass also must provide concrete implementations of each of the superclass’s abstract methods. Constructors and static
methods cannot be declared abstract
. Constructors are not inherited, so an abstract
constructor could never be implemented. Though non-private static
methods are inherited, they cannot be overridden. Since abstract
methods are meant to be overridden so that they can process objects based on their types, it would not make sense to declare a static
method as abstract
.