abract means a concrete implementation may override it. It also means that if the abstract class is used as a base class and the method when invoked will cause the actual instance's method to be invoked (
polymorphism). This of course implies that the method should be an instance method. Hence it cannot be static.