Java第七周学习博客——多态 (1)

Java第七周学习博客——多态

一、本周学习内容

本周主要学习了 Java 面向对象三大特性中的多态。在已经掌握继承、方法重写的基础上,系统学习了多态的概念、实现条件、运行机制、调用规则以及实际应用场景。通过代码练习,我基本掌握了多态的写法与作用,对面向对象编程的理解更加完整。

二、多态的基本概念

多态是面向对象非常重要的特性,意思是同一个行为,在不同子类对象上表现出不同的效果

简单理解:
父类定义通用方法,不同子类重写该方法,程序运行时根据真实对象类型执行不同的逻辑,这就是多态。

三、多态的三个必要条件

想要在 Java 中实现多态,必须同时满足三点:

  1. 存在继承关系(子类继承父类)
  2. 子类重写父类方法
  3. 父类引用指向子类对象

缺一不可,其中方法重写是多态的核心。

四、多态基础代码示例

java
// 父类
class Animal{
public void shout(){
System.out.println("动物发出叫声");
}
}

// 子类 Dog
class Dog extends Animal{
@Override
public void shout(){
System.out.println("小狗汪汪叫");
}
}

// 子类 Cat
class Cat extends Animal{
@Override
public void shout(){
System.out.println("小猫喵喵叫");
}
}

public class Test {
public static void main(String[] args) {
// 父类引用 指向 子类对象 —— 多态核心写法
Animal a1 = new Dog();
Animal a2 = new Cat();

a1.shout();
a2.shout();
}
}

运行结果

Plain Text
小狗汪汪叫
小猫喵喵叫

五、多态调用规则

1. 成员方法(有多态)

编译看左边(父类),运行看右边(子类)
简单说:执行的是子类重写后的方法

2. 成员变量(没有多态)

编译看左边,运行也看左边
变量不会被重写,永远调用父类的变量。

六、多态的常用应用:父类做方法参数

多态最大的用处就是简化代码、提高扩展性

用父类作为方法参数,可以一次性接收所有子类对象,不用写多个重载方法。

示例:

java
public class Test {
// 父类作为参数,可以接收所有子类
public static void play(Animal a){
a.shout();
}

public static void main(String[] args) {
play(new Dog());
play(new Cat());
}
}

七、多态的优点

  1. 代码更加简洁、统一
  2. 扩展性极强,新增子类无需改动原有代码
  3. 降低程序耦合度,更方便维护和迭代

 

posted @ 2026-05-25 17:58  张一威  阅读(17)  评论(0)    收藏  举报