Java 中的抽象方法:理解 public void draw() 和 public abstract void draw() 的区别

在 Java 中,抽象方法是一种没有方法体的方法,它必须在子类中被实现。抽象方法使用 abstract 关键字声明。

为什么使用抽象方法?

抽象方法主要用于定义一个方法的通用行为,而具体的实现细节留给子类来完成。这样可以提高代码的可扩展性和可维护性。

示例:

假设我们有一个名为 Shape 的抽象类,其中定义了一个名为 draw() 的抽象方法:

public abstract class Shape {
    public abstract void draw();
}

draw() 方法没有方法体,它表示所有形状都必须有 draw() 方法,但具体的绘制方式由不同的形状类来实现。

例如,我们定义两个子类 Circle 和 Rectangle,它们都继承了 Shape 类:

public class Circle extends Shape {
    @Override
    public void draw() {
        // 绘制圆形的逻辑
    }
}

public class Rectangle extends Shape {
    @Override
    public void draw() {
        // 绘制矩形的逻辑
    }
}

Circle 和 Rectangle 类都实现了 draw() 方法,但它们的方法体不同,分别实现了不同的绘制逻辑。

结论:

  • public void draw() 是一个普通方法,它有方法体,可以执行具体的代码逻辑。
  • public abstract void draw() 是一个抽象方法,它没有方法体,必须在子类中实现。

所以,在标题和内容中提到的 public void draw() 不是抽象内容。

Java 中的抽象方法:理解 public void draw() 和 public abstract void draw() 的区别

原文地址: https://www.cveoy.top/t/topic/ozZU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录