Java Programming/Keywords/abstract
abstract
is a Java keyword. It can be applied to a class and methods. An abstract class cannot be directly instantiated. It must be placed before the variable type or the method return type. It is recommended to place it after the access modifier and after the static
keyword. A non-abstract class is a concrete class. An abstract class cannot be final
.
Only an abstract class can have abstract methods. An abstract method is only declared, not implemented:
Code listing 1: AbstractClass.java
public abstract class AbstractClass {
// This method does not have a body; it is abstract.
public abstract void abstractMethod();
// This method does have a body; it is implemented in the abstract class and gives a default behavior.
public void concreteMethod() {
System.out.println("Already coded.");
}
}
|
An abstract method cannot be final
, static
nor native
. Because an abstract class can't directly be instantiated, you must either instantiate a concrete sub-class or you instantiate the abstract class by implementing its abstract methods alongside a new statement:
Code section 1: Abstract class use.
AbstractClass myInstance = new AbstractClass() {
public void abstractMethod() {
System.out.println("Implementation.");
}
};
|
A private method cannot be abstract
.