Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java多态

作者:浪推晚风   发布日期:2026-06-21   浏览:46

// 定义一个父类 Animal
class Animal {
    // 定义一个方法 sound,子类可以根据需要重写这个方法
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

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

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

// 测试多态性的主类
public class PolymorphismExample {
    public static void main(String[] args) {
        // 创建 Animal 类型的引用,但实际指向的是 Dog 对象
        Animal myDog = new Dog();
        // 调用 sound 方法,输出 "Dog barks"
        myDog.sound();

        // 创建 Animal 类型的引用,但实际指向的是 Cat 对象
        Animal myCat = new Cat();
        // 调用 sound 方法,输出 "Cat meows"
        myCat.sound();
    }
}

解释说明:

  1. 父类 Animal:定义了一个通用的方法 sound(),该方法可以被子类重写。
  2. 子类 DogCat:分别继承了 Animal 类,并重写了 sound() 方法,实现了各自特有的行为。
  3. 多态性:在 PolymorphismExample 类中,我们创建了 Animal 类型的引用,但实际上指向的是 DogCat 的对象。当我们调用 sound() 方法时,实际执行的是子类中重写后的方法,而不是父类中的方法。这就是 Java 中多态性的体现。

通过这种方式,程序可以在运行时根据对象的实际类型来决定调用哪个方法,从而实现更加灵活和可扩展的设计。

上一篇:java final关键字的作用

下一篇:java读取excel文件内容并输出

大家都在看

java url decode

java判断是windows还是linux

java原始数据类型

java连接数据库的代码

java date类型比较大小

java djl

ubuntu 卸载java

es java api

java常用的设计模式有哪些

java list 查找

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站