Java面向对象与多态学习笔记

版权申诉
0 下载量 113 浏览量 更新于2024-07-11 收藏 7.74MB PDF 举报
"J2SE篇学习笔记1.pdf" 这篇学习笔记主要涵盖了Java SE中的面向对象编程概念,特别是关于多态性的深入理解。面向对象编程是Java编程的基础,它包括封装、继承和多态三个核心特性。在此笔记中,重点讨论了多态性。 多态性是面向对象编程中的一个关键概念,它允许我们使用父类类型的引用来操作子类对象,使得代码具有更好的灵活性和可扩展性。动态绑定或迟绑定是多态的一种表现形式,意味着在程序运行时,系统会根据实际的对象类型来决定调用哪个方法,而不是在编译时期就确定。 要实现多态,有三个必要的条件: 1. 继承:子类继承父类,这样子类可以拥有父类的属性和方法。 2. 重写:子类需要重写父类中至少一个抽象方法或覆盖一个非final方法,以提供自己的实现。 3. 父类引用指向子类对象:这是实现多态的关键,即用父类类型的引用变量来创建子类的对象。 在提供的代码示例中,`Animal` 是一个抽象类,包含一个抽象方法 `enjoy()`。`Cat`, `Dog` 和 `Bird` 都继承自 `Animal` 并实现了 `enjoy()` 方法。`Lady` 类包含一个 `Animal` 类型的成员变量 `pet`,通过这个变量,我们可以调用不同类型的动物对象的 `enjoy()` 方法,这就是多态的体现。 在 `main` 方法中,我们创建了 `Cat`, `Dog` 和 `Bird` 的实例,并将它们赋值给了 `Animal` 类型的引用。当调用 `myPetEnjoy()` 方法时,实际执行的是子类对象的 `enjoy()` 方法,这正是多态带来的好处,我们无需知道 `pet` 实际是什么类型的动物,只需通过父类引用调用方法即可。 这段笔记对于理解和掌握Java中的多态性非常重要,因为多态能够使代码更加简洁,易于维护,并且能够提高代码的复用性。在实际开发中,多态性被广泛应用于设计模式,如工厂模式、策略模式等,是编写高质量、可扩展代码的关键。