【Java 多态】面向对象编程の重要概念,多态是什么,附带小案例

简介: 【Java 多态】面向对象编程の重要概念,多态是什么,附带小案例


多态 🦠

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方法。DogCat类继承自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接口的类:DogCat,它们都实现了makeSound()方法。

Main类中,我们创建了一个Dog对象和一个Cat对象,并将它们都赋值给Animal类型的变量。这样做的好处是,我们可以通过Animal类型的变量来调用makeSound()方法,而不需要关心具体是哪个类实现了这个方法。这就是多态的体现。


20236323:28:59 🎇

要从青岛去长春出差,估计更新可能要两天一更,保证每周最少两更,O(∩_∩)O哈哈~

相关文章
|
1天前
|
Java 编译器
【Java开发指南 | 第二十六篇】Java多态
【Java开发指南 | 第二十六篇】Java多态
13 1
|
1天前
|
Java 编译器
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
【Java开发指南 | 第一篇】类、对象基础概念及Java特征
11 4
|
1天前
|
Java
04|零基础玩转面向对象编程:Java OOP
04|零基础玩转面向对象编程:Java OOP
7 0
|
1天前
|
Java
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
【JAVA基础篇教学】第五篇:Java面向对象编程:类、对象、继承、多态
|
1天前
|
Java
java面向对象——包+继承+多态(一)-2
java面向对象——包+继承+多态(一)
18 3
|
1天前
|
SQL Java 编译器
java面向对象——包+继承+多态(一)-1
java面向对象——包+继承+多态(一)
17 2
|
1天前
|
设计模式 消息中间件 安全
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
【Java多线程】关于多线程的一些案例 —— 单例模式中的饿汉模式和懒汉模式以及阻塞队列
11 0
|
1天前
|
存储 Java 程序员
Java面向对象编程的基础概念解析
Java面向对象编程的基础概念解析
16 0
|
1天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
28 1
|
1天前
|
Java 编译器 C++
Java 多态
5月更文挑战第3天