在Java中,多态和继承是两个非常重要的概念,也是面向对象编程中的两个基本特性之一。接下来我们将逐一介绍它们的概念和使用方法。
首先,让我们先了解一下什么是继承。继承是一种程序代码复用的方式,它允许我们创建一个基类,在基类中定义某些方法和属性,在子类中可以继承基类的方法和属性并且可以添加一些额外的方法和属性。这样可以使程序代码更加简洁,减少重复代码的编写。
// 定义一个动物类 public class Animal { public void eat() { System.out.println("Animal is eating."); } } // 定义一个狗类,继承自动物类 public class Dog extends Animal { public void bark() { System.out.println("Dog is barking."); } }
在上面的代码中,我们定义了一个动物类和一个狗类,并且让狗类继承自动物类。这样,我们就可以在狗类中使用动物类中定义的 eat() 方法。
接下来,让我们了解一下什么是多态。多态是指同一个方法在不同的对象中有不同的表现形式。它是一种广泛应用于面向对象编程中的概念。
// 定义一个动物类 public class Animal { public void eat() { System.out.println("Animal is eating."); } } // 定义一个狗类,继承自动物类 public class Dog extends Animal { public void bark() { System.out.println("Dog is barking."); } } // 定义一个猫类,继承自动物类 public class Cat extends Animal { public void meow() { System.out.println("Cat is meowing."); } } // 定义一个主函数 public class Main { public static void main(String[] args) { Animal animal1 = new Animal(); Animal animal2 = new Dog(); Animal animal3 = new Cat(); animal1.eat(); animal2.eat(); // 多态 animal3.eat(); // 多态 } }
在上面的代码中,我们定义了一个动物类、一个狗类和一个猫类,并且让它们都继承自动物类。接着,我们在主函数中创建了三个对象,分别是动物对象、狗对象和猫对象。最后,我们调用了这三个对象的 eat() 方法。
注意,我们将动物对象、狗对象和猫对象分别保存在了 Animal 类型的变量中。这就是多态,即同一个方法在不同的对象中有不同的表现形式。