# abstract Java Keyword

The abstract keyword may modify a class or a method.

An abstract class can be extended (subclassed) but cannot be instantiated directly.

An abstract method is not implemented in the class in which it is declared, but must be overridden in some subclass.

## Examples

      public abstract class MyClass
      {
      }

      public abstract String myMethod();

## Remarks

- A class with an abstract method is inherently abstract and must be declared abstract.

- An abstract class cannot be instantiated.

- A subclass of an abstract class can only be instantiated if it implements all of the abstract methods of its superclass. Such classes are called concrete classes to differentiate them from abstract classes.

- If a subclass of an abstract class does not implement all of the abstract methods of its superclass, the subclass is also abstract.

- The abstract keyword cannot be applied to methods that are static, private or final, since such methods cannot be overridden and therefore cannot be implemented in subclasses.

- No methods of a final class may be abstract since a final class cannot be subclassed.

Related Topics

final Java Keyword

private Java Keyword

static Java Keyword