In Java, an abstract method is a method that does not have an implementation and must be overridden by a subclass.
Abstract methods are declared in an abstract class or interface, and they do not have a body. Instead, they are followed by a semicolon (;).
Here is an example of an abstract method in an abstract class:
public abstract class Shape { private String color; public Shape(String color) { this.color = color; } public String getColor() { return color; } public abstract double getArea(); }
In this example, the Shape
class is an abstract class that contains an abstract method called getArea
. The getArea
method does not have an implementation, and it must be overridden by a subclass.
To override an abstract method in a subclass, you must use the @Override
annotation and provide an implementation for the method.
Here is an example of a subclass that extends the Shape
abstract class and overrides the getArea
method:
public class Circle extends Shape { private double radius; public Circle(String color, double radius) { super(color); this.radius = radius; } @Override public double getArea() { return Math.PI * radius * radius; } }
In this example, the Circle
class is a subclass of the Shape
class, and it overrides the getArea
method to provide an implementation that calculates the area of a circle.
It is important to note that if a subclass does not override an abstract method of its superclass, the subclass must also be declared as abstract.
Abstract methods are often used to define the interface of a class, and they are useful when you want to provide a common interface for a group of related classes.