欢迎访问宙启技术站
智能推送

怎么实现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中的函数多态可以实现动态绑定(动态选择正确的方法实现),提高代码的可扩展性和灵活性。