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

avatar
作者
猴君
阅读量:0

在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"     } } 

总结:

  • 继承允许我们创建一个新类,并重用(或覆盖)已存在类的属性和方法。
  • 多态允许我们使用一个接口(或类)表示多种类型,从而提高了代码的灵活性和可扩展性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!