Java

Java中的继承和多态如何实现

小樊
81
2024-09-14 11:00:18
栏目: 编程语言

在Java中,继承和多态是面向对象编程的两个重要特性。它们分别解决了代码复用和接口抽象的问题。

  1. 继承:

继承是一种创建类的方式,新创建的类继承了一个已存在的类的属性和方法。这样,新创建的类可以重用(或者覆盖)已存在类的行为,而不需要重新编写相同的代码。

继承的实现方式是通过关键字extends来完成的。例如:

class Animal {
    void eat() {
        System.out.println("Animal eats");
    }
}

class Dog extends Animal {
    // Dog类继承了Animal类,因此可以使用eat()方法
}

public class Main {
    public static void main(String[] args) {
        Dog myDog = new Dog();
        myDog.eat();  // 输出 "Animal eats"
    }
}
  1. 多态:

多态是指允许一个接口(或类)表示多种类型的能力。在Java中,多态主要体现在继承和接口实现上。多态的实现主要有两种方式:方法重写(覆盖)和接口实现。

方法重写(覆盖)是指子类重新定义了父类的方法,从而改变了方法的行为。这样,当我们使用子类对象调用该方法时,将会执行子类中的版本,而不是父类中的版本。例如:

class Animal {
    void eat() {
        System.out.println("Animal eats");
    }
}

class Dog extends Animal {
    @Override
    void eat() {
        System.out.println("Dog eats");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal myAnimal = new Dog();
        myAnimal.eat();  // 输出 "Dog eats"
    }
}

接口实现是指一个类实现了一个或多个接口,从而继承了接口中的方法。接口定义了一组方法,但不提供具体实现。实现接口的类必须提供接口中所有方法的具体实现。例如:

interface Flyable {
    void fly();
}

class Bird implements Flyable {
    @Override
    public void fly() {
        System.out.println("Bird flies");
    }
}

public class Main {
    public static void main(String[] args) {
        Flyable myBird = new Bird();
        myBird.fly();  // 输出 "Bird flies"
    }
}

总结:

0
看了该问题的人还看了