// 示例代码: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 中文站