MST
星途 面试题库

面试题:Java中抽象类代码复用的常见方式

在Java中,抽象类为代码复用提供了重要机制。请阐述至少两种在抽象类中实现代码复用的常见方式,并给出简单的代码示例。
38.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 抽象类中的具体方法 抽象类可以包含具体的方法,这些方法可以被其子类直接复用。
abstract class Shape {
    // 具体方法,计算周长的通用部分(这里以正方形为例简单示意)
    public double calculateCommonPerimeter(double side) {
        return 4 * side;
    }

    // 抽象方法,由子类实现
    public abstract double calculateArea();
}

class Square extends Shape {
    private double side;

    public Square(double side) {
        this.side = side;
    }

    @Override
    public double calculateArea() {
        return side * side;
    }
}
  1. 构造方法 抽象类的构造方法可以帮助初始化一些通用的成员变量,实现代码复用。
abstract class Animal {
    protected String name;

    public Animal(String name) {
        this.name = name;
    }

    public abstract void makeSound();
}

class Dog extends Animal {
    public Dog(String name) {
        super(name);
    }

    @Override
    public void makeSound() {
        System.out.println(name + " says woof!");
    }
}