怎么实现Java中的函数多态?
发布时间:2023-10-08 11:53:40
Java中的函数多态(方法重写)可以通过继承和接口来实现。
1. 继承:使用继承可以在子类中重写父类的方法,从而实现多态。父类定义一个方法,并在子类中重写该方法,子类对象调用此方法时,会根据具体的对象类型来执行对应的方法。
class Animal {
public void sound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
class Cat extends Animal {
@Override
public void sound() {
System.out.println("Cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
Animal dog = new Dog();
Animal cat = new Cat();
animal.sound(); // Output: Animal makes sound
dog.sound(); // Output: Dog barks
cat.sound(); // Output: Cat meows
}
}
2. 接口:使用接口可以定义一组方法的规范,实现了这个接口的类必须重写接口中的所有方法。通过接口实现多态可以使不同的类实现相同的接口,从而达到同样的方法调用可以有不同的实现。
interface Animal {
void sound();
}
class Dog implements Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}
class Cat implements Animal {
@Override
public void sound() {
System.out.println("Cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal dog = new Dog();
Animal cat = new Cat();
dog.sound(); // Output: Dog barks
cat.sound(); // Output: Cat meows
}
}
通过继承和接口,Java中的函数多态可以实现动态绑定(动态选择正确的方法实现),提高代码的可扩展性和灵活性。
