gpt4 book ai didi

java - 抽象方法的目的是什么?

转载 作者:行者123 更新时间:2023-12-02 04:08:54 26 4
gpt4 key购买 nike

abstract public class car 
{
abstract void drive();
}

如上面的代码片段所示,Java 中抽象方法的具体用途是什么?据我所知,根据定义,他们不允许拥有 body 。

最佳答案

通过声明方法抽象,您并没有提供实现,而是强制扩展 car 类的具体类提供该方法的实现。示例:

abstract public class Car {
abstract void drive();
}

public class Audi extends Car {
void drive() {
System.out.println("I'm an Audi.");
}
}

public class Volvo extends Car {
void drive() {
System.out.println("I'm a Volvo.");
}
}

未能提供实现将导致编译错误。

现在,从这个示例中您可以轻松看出,因为 AudiVolvo 的实例都可以放置在需要 Car 的位置,您可以在运行时插入不同的行为(这称为多态性):

void driveCar(Car car) {
car.drive();
}

void testDrive() {
driveCar(new Audi()); // prints I'm an Audi
driveCar(new Volvo()); // prints I'm a Volvo
}

关于java - 抽象方法的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com