MST

星途 面试题库

面试题:Java多态中继承与方法重写的基础关系

在Java多态机制下,阐述继承与方法重写之间的关系。并举例说明在一个简单的类继承体系中,如何通过方法重写实现多态。要求给出父类和子类的代码示例,以及调用重写方法体现多态的代码片段。
26.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 继承与方法重写的关系
    • 继承是Java中实现多态的基础。通过继承,子类可以获取父类的属性和方法,同时可以对父类的方法进行改进或扩展。
    • 方法重写是在继承的前提下,子类对从父类继承来的方法进行重新定义。重写后的方法具有与父类被重写方法相同的方法签名(方法名、参数列表、返回类型)。
    • 多态则是通过继承和方法重写,使得在运行时可以根据对象的实际类型来决定调用哪个版本的重写方法,实现“同一行为,不同表现”。
  2. 代码示例
    • 父类代码
class Animal {
    public void makeSound() {
        System.out.println("动物发出声音");
    }
}
  • 子类代码
class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("汪汪汪");
    }
}

class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("喵喵喵");
    }
}
  • 调用重写方法体现多态的代码片段
public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Dog();
        Animal animal2 = new Cat();

        animal1.makeSound();
        animal2.makeSound();
    }
}

在上述代码中,DogCat类继承自Animal类,并对makeSound方法进行了重写。在main方法中,通过父类引用指向子类对象,在运行时根据对象实际类型(DogCat)调用相应的重写方法,从而体现了多态。