在Java中,抽象类是一种不能被实例化的类,通常用于定义一些共同的属性和方法,但是具体的实现需要由继承它的子类来实现。抽象类可以包含抽象方法(没有方法体的方法)和非抽象方法(有方法体的方法),子类必须实现抽象类中的所有抽象方法,否则子类也必须声明为抽象类。通过使用抽象类,可以实现代码的复用和提高代码的扩展性。要声明一个抽象类,需要使用关键字“abstract”来修饰类。例如:
public abstract class Shape {
protected String color;
public Shape(String color) {
this.color = color;
}
public abstract double getArea();
public void draw() {
System.out.println("Drawing a shape with color: " + color);
}
}
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;
}
}