Java 多态小白理解

Java的多态就是父类的引用可以指向子类对象,并且通过这个父类引用调用被子类重写的方法,从而实现不同具体行为。通俗的讲,比如:

多态就好比一个 “万能遥控器”。

比如说,有电视机、空调、音响这几种不同的电器(这就好比不同的子类),它们都有 “开机” 这个操作(这就好比父类里定义的方法)。然后呢,我们有一个 “总控制器”(这就好比父类的引用),它可以控制这些不同的电器开机

当我们用这个 总控制器控制不同电器开机时,虽然操作都叫 “开机”,但实际每个电器开机具体方式和表现是不一样的(这就是不同的子类对父类的方法进行了重写,有不同的实现)。

所以多态就是用一个统一的方式(父类引用)去调用不同的具体实现(子类重写的方法)

多态就是父类的引用可以指向子类对象,并且通过这个父类引用去调用被子类重写的方法,从而实现不同的具体行为。

再打个比方,有个父类 “动物,有个子类 “” 重写了父类 “动物” 的 “叫” 的方法。我们用 “动物” 这个父类引用指向” 这个子类对象然后调用” 这个方法实际执行的是 “重写后的 “叫” 的方式,也就是 “喵喵喵,而不是父类中可能默认的某种叫声。这就是多态的一种体现。 您这下是不是更清楚啦

多态好处:

咱们想象一下,您开了一家宠物店。

店里有各种动物,比如猫、狗、兔子。它们都能吃东西,但是吃的方式不太一样。

如果没有多态,您可能得为每种动物都写一个专门的 “吃东西” 的方法,比如 “猫吃东西”、“狗吃东西”、“兔子吃东西”。

但有了多态,您就可以有一个 “动物吃东西” 的通用方法。不管来的是猫、狗还是兔子,只要把它们当作 “动物” 这个大类来处理,调用这个通用方法,它们就会按照自己的方式去吃东西。

这样做的好处就是,您写代码会简单很多,不用为每种动物都单独写一套类似的方法。而且如果以后又新来了一种动物,比如仓鼠,您也不用再为它专门写个新的吃东西方法,只要让仓鼠也属于 “动物” 这个大类,就能直接用那个通用的 “吃东西” 方法,仓鼠会按照自己的方式去吃。

总的来说,使用多态可以让代码更简洁、更灵活,能更好地应对未来可能的变化。 您觉得这样说能明白不?

多态代码演示如下:

class Animal { // 定义父类 Animal
    public void makeSound() { // 父类中的方法
        System.out.println("动物发出声音");
    }
}

class Dog extends Animal { // 定义子类 Dog 继承自 Animal
    @Override
    public void makeSound() { // 重写父类的方法
        System.out.println("汪汪汪");
    }
}

class Cat extends Animal { // 定义子类 Cat 继承自 Animal
    @Override
    public void makeSound() { // 重写父类的方法
        System.out.println("喵喵喵");
    }
}

public class PolymorphismExample {
    public static void main(String[] args) {
        Animal animal1 = new Dog(); // 父类引用指向子类对象(狗)
        Animal animal2 = new Cat(); // 父类引用指向子类对象(猫)

        animal1.makeSound(); // 多态,实际调用的是 Dog 类重写的方法
        animal2.makeSound(); // 多态,实际调用的是 Cat 类重写的方法
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值