面试题答案
一键面试- 继承与方法重写的关系:
- 继承是Java中实现多态的基础。通过继承,子类可以获取父类的属性和方法,同时可以对父类的方法进行改进或扩展。
- 方法重写是在继承的前提下,子类对从父类继承来的方法进行重新定义。重写后的方法具有与父类被重写方法相同的方法签名(方法名、参数列表、返回类型)。
- 多态则是通过继承和方法重写,使得在运行时可以根据对象的实际类型来决定调用哪个版本的重写方法,实现“同一行为,不同表现”。
- 代码示例:
- 父类代码:
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();
}
}
在上述代码中,Dog
和Cat
类继承自Animal
类,并对makeSound
方法进行了重写。在main
方法中,通过父类引用指向子类对象,在运行时根据对象实际类型(Dog
或Cat
)调用相应的重写方法,从而体现了多态。