任何人都可以为我提供一个在 Java 中使用抽象类和抽象方法的实际示例/场景吗?示例代码的解释将有助于从概念上理解它。谢谢
最佳答案
abstract class Car{
public int drivenKm;
//....
public abstract void checkCar();
}
public class Volvo extends Car {
public void checkCar() {
checkWithVolvoTestSpecs1();
}
//you have some Volvo-specific tests implemented here
public void checkWithVolvoTestSpecs1(){
//....
}
}
public class BMW extends Car {
public void checkCar() {
checkWithBMWTest();
}
//you have some BMW-specific tests implemented here
public void checkWithBmWTest(){
//....
}
}
现在您可以获得包含宝马或沃尔沃的汽车列表。
有时实现通用的 checkCar() 方法是没有意义的,因为需要根据一些特定于生产者的检查来检查它们。因此,您应该标记类抽象以及方法。
标记类抽象可以防止您生成无法检查的非特定汽车。
标记方法抽象用于不强制实现一般的汽车检查以及强制任何派生类实现特定的汽车检查。
这意味着您可以为汽车列表中的每个对象调用 checkCar() 方法,因为可以保证不存在没有实现 checkCar() 的通用汽车对象以及每个特定对象(例如 BMW)列表中有该方法的实现。
public static void main() {
List<Car> cars = new ArrayList<Car>();
cars.add(new Volvo());
cars.add(new BMW());
foreach(Car c:cars)
c.checkCar();
}
关于java - java中为什么要使用抽象类和抽象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43571178/