// 示例代码:Java重载和重写
// 定义一个父类 Animal
class Animal {
    // 父类中的方法
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
    // 重载方法,参数不同
    public void makeSound(String sound) {
        System.out.println("Animal makes a sound: " + sound);
    }
}
// 定义一个子类 Dog,继承自 Animal
class Dog extends Animal {
    // 重写父类的方法
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
    // 重载方法,参数不同
    public void makeSound(int times) {
        for (int i = 0; i < times; i++) {
            System.out.println("Dog barks " + (i + 1) + " time(s)");
        }
    }
}
public class Main {
    public static void main(String[] args) {
        // 创建 Animal 对象
        Animal animal = new Animal();
        animal.makeSound();           // 输出: Animal makes a sound
        animal.makeSound("roar");     // 输出: Animal makes a sound: roar
        // 创建 Dog 对象
        Dog dog = new Dog();
        dog.makeSound();              // 输出: Dog barks
        dog.makeSound(3);             // 输出: Dog barks 1 time(s), Dog barks 2 time(s), Dog barks 3 time(s)
        // 使用父类引用指向子类对象
        Animal myDog = new Dog();
        myDog.makeSound();            // 输出: Dog barks
    }
}重载(Overloading):
Animal 类中,有两个 makeSound 方法,一个是无参数的,另一个是带 String 参数的。重写(Overriding):
Dog 类重写了 Animal 类中的 makeSound 方法。运行时多态:
Animal myDog = new Dog(); 调用 myDog.makeSound() 会输出 Dog barks。上一篇:java 字符串占位符
下一篇:java使用opencv
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站