多态 🦠
Java的多态是指同一个方法在不同的对象上有不同的表现形式。它是面向对象编程中的一个重要概念,可以提高代码的可扩展性和可维护性
多态的实现方式有两种:继承和接口。在继承中,子类可以重写父类的方法,从而实现多态;在接口中,实现类可以实现接口中的方法,也可以根据需要进行重写,从而实现多态.
在继承中实现多态 🎡
// 定义一个动物类 class Animal { public void eat() { System.out.println("动物正在吃东西"); } } // 定义一个狗类,继承自动物类 class Dog extends Animal { public void eat() { System.out.println("狗正在吃骨头"); } } // 定义一个猫类,继承自动物类 class Cat extends Animal { public void eat() { System.out.println("猫正在吃鱼"); } } // 测试类 public class Test { public static void main(String[] args) { Animal animal1 = new Dog(); // 创建一个狗对象 Animal animal2 = new Cat(); // 创建一个猫对象 animal1.eat(); // 调用狗对象的eat方法 animal2.eat(); // 调用猫对象的eat方法 } }
在上面的案例中,
Animal
类是一个基类,它有一个eat
方法。Dog
和Cat
类继承自Animal
类,并重写了eat
方法。在测试类中,创建了一个狗对象
和一个猫对象
,并分别调用它们的eat
方法。由于多态的存在,animal1和animal2
虽然都是Animal类型
的对象,但是它们的eat方法
表现出了不同的行为,这就是多态的体现。
在接口中实现多态 🧿
interface Animal { void makeSound(); } class Dog implements Animal { public void makeSound() { System.out.println("汪汪汪"); } } class Cat implements Animal { public void makeSound() { System.out.println("喵喵喵"); } } public class Main { public static void main(String[] args) { Animal dog = new Dog(); Animal cat = new Cat(); dog.makeSound(); // 输出:汪汪汪 cat.makeSound(); // 输出:喵喵喵 } }
在这个案例中,我们定义了一个
Animal
接口,其中有一个makeSound()
方法。然后我们定义了两个实现了Animal
接口的类:Dog
和Cat
,它们都实现了makeSound()
方法。在
Main
类中,我们创建了一个Dog
对象和一个Cat
对象,并将它们都赋值给Animal
类型的变量。这样做的好处是,我们可以通过Animal
类型的变量来调用makeSound()
方法,而不需要关心具体是哪个类实现了这个方法。这就是多态的体现。
2023
年6
月3
日23:28:59
🎇要从青岛去长春出差,估计更新可能要两天一更,保证每周最少两更,O(∩_∩)O哈哈~