【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哈哈~

相关文章
|
30天前
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
105 15
|
30天前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
49 11
|
30天前
|
Java 数据安全/隐私保护 开发者
【潜意识Java】深入理解 Java 面向对象编程(OOP)
本文介绍了Java中的面向对象编程(OOP)核心概念,包括封装、继承、多态和抽象。封装通过访问控制保护数据,提高安全性;继承支持代码复用,减少冗余;多态实现灵活的行为调用;抽象则隐藏细节,简化接口设计。掌握这些概念有助于编写高效、灵活且易于维护的代码。文章通过实例详细讲解了每个概念在Java中的应用,并总结了它们的优势。
44 3
|
1月前
|
存储 监控 Java
JAVA线程池有哪些队列? 以及它们的适用场景案例
不同的线程池队列有着各自的特点和适用场景,在实际使用线程池时,需要根据具体的业务需求、系统资源状况以及对任务执行顺序、响应时间等方面的要求,合理选择相应的队列来构建线程池,以实现高效的任务处理。
120 12
|
1月前
|
Java 数据安全/隐私保护
Java的基础概念(二)
本文介绍了Java编程语言中的运算符和表达式,涵盖算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符等。重点讲解了算术运算符的使用,如加减乘除取余,并强调了整数除法和取余的特殊性。同时,详细说明了隐式转换与强制转换的概念及应用场景,以及字符串和字符的拼接规则。通过多个案例演示了不同运算符的实际应用,包括数值拆分、自增自减、三元表达式的使用等。最后简要提及了运算符的优先级,指出小括号具有最高优先级。
|
2月前
|
存储 Java 程序员
Java的基础概念一
### Java编程基础简介 #### 一、注释 注释用于解释代码,不会参与编译和运行。Java支持三种注释: - **单行注释**:以 `//` 开头。 - **多行注释**:以 `/* ... */` 包围。 - **文档注释**:通常用于生成开发文档。 #### 二、关键字 关键字是被Java赋予特定含义的英文单词,全部小写,且在代码编辑器中有特殊颜色标记。常用的如 `class` 表示定义一个类。
Java的基础概念一
|
3月前
|
Java 开发者
Java 面向对象编程
总之,Java 的面向对象编程为开发者提供了一种有效的编程范式,帮助他们构建出高质量、可维护的软件系统。理解和掌握面向对象的概念和原则是成为优秀 Java 开发者的重要基础。
214 63
|
3月前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
121 3
|
3月前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
92 2
|
3月前
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
89 1

热门文章

最新文章