Java 中的抽象方法:理解 public void draw() 和 public abstract void draw() 的区别
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() 不是抽象内容。
原文地址: https://www.cveoy.top/t/topic/ozZU 著作权归作者所有。请勿转载和采集!