多态性实现误区:方法重写不正确示例
在Java中,多态性是通过继承和接口实现的。方法重写(Override)是多态性的一个重要方面,它是指子类可以覆盖父类相同名字的方法。
以下是一个错误使用方法重写示例:
// 父类
public class Animal {
public void speak() { // 原始方法
System.out.println("Animal speaks.");
}
}
// 子类1
public class Dog extends Animal {
@Override // 正确的重写,加上@Override注解
public void speak() { // 子类覆盖的方法
System.out.println("Dog barks.");
}
}
// 使用
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.speak(); // 输出 "Dog barks."
}
}
在这个例子中,Dog
子类正确地覆盖了父类的speak()
方法。在主程序中调用myDog.speak()
时,会输出”Dog barks.”,这是多态性的一种表现。
还没有评论,来说两句吧...