以下是一个简单的用动物发出声音的Java代码示例,展示了继承和多态的概念:
// 父类
class Animal {
void sound() {
System.out.println("动物发出声音");
}
}
// 子类1
class Dog extends Animal {
void sound() {
System.out.println("狗发出汪汪声");
}
}
// 子类2
class Cat extends Animal {
void sound() {
System.out.println("猫发出喵喵声");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog(); // 使用父类引用指向子类对象
Animal animal2 = new Cat(); // 使用父类引用指向子类对象
animal1.sound(); // 调用子类的方法
animal2.sound(); // 调用子类的方法
}
}
输出结果为:
狗发出汪汪声
猫发出喵喵声
以上Animal类是一个父类,它有一个sound()方法。Dog类和Cat类是Animal类的子类,它们分别重写了sound()方法。
在Main类的main方法中,我们创建了一个Animal类的引用变量animal1和animal2,分别指向Dog类和Cat类的实例。然后调用这些引用变量的sound()方法时,实际上会根据具体对象的类型而执行相应的子类方法。这就是多态的体现。