java抽象方法用abstract来进行声明,抽象类是一种介于普通类和接口之间的类,它可以包含抽象方法、非抽象方法、构造方法、静态方法和成员变量,抽象类可以包含具体实现的方法,这些方法可以提供通用的行为或默认的实现,供其子类直接使用。子类可以选择性地重写这些方法,以覆盖父类提供的默认实现;抽象方法用于强制要求子类提供方法的实现,如果一个类继承了抽象类,它必须实现抽象类中的所有抽象方法,除非声明该类也是抽象类;
在java中接口是是一种抽象类型并不是一个类,可以从一个类可以实现多个接口而类只能继承一个可以看出,接口中方法都是抽象方法,如果一个类实现了一个接口,则必须实现该接口所有抽象方法,除非是抽象类,
abstract class Shape {
String color;
public Shape(String color) {
this.color = color;
}
// 抽象方法
abstract double area();
// 具体实现的方法
public void display() {
System.out.println("This is a " + color + " shape.");
}
}
class Circle extends Shape {
double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
@Override
double area() {
return Math.PI * radius * radius;
}
}
public class Main {
public static void main(String[] args) {
Circle circle = new Circle("red", 5.0);
circle.display();
System.out.println("Area: " + circle.area());
}
}