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

java重写和重载的区别

作者:一杯酒悲痛人   发布日期:2025-02-25   浏览:97

// 重载(Overloading)
class Calculator {
    // 方法重载:方法名相同,参数列表不同
    public int add(int a, int b) {
        return a + b;
    }

    public double add(double a, double b) {
        return a + b;
    }
}

// 重写(Overriding)
class Animal {
    // 父类中的方法
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    // 子类重写父类的方法
    @Override
    public void sound() {
        System.out.println("Dog barks");
    }
}

public class Main {
    public static void main(String[] args) {
        // 测试重载
        Calculator calc = new Calculator();
        System.out.println("Integer addition: " + calc.add(2, 3)); // 输出: Integer addition: 5
        System.out.println("Double addition: " + calc.add(2.5, 3.5)); // 输出: Double addition: 6.0

        // 测试重写
        Animal myDog = new Dog();
        myDog.sound(); // 输出: Dog barks
    }
}

解释说明:

  1. 重载 (Overloading):

    • 发生在同一个类中。
    • 方法名相同,但参数列表不同(参数的数量、类型或顺序不同)。
    • 编译时确定,属于静态多态性。
  2. 重写 (Overriding):

    • 发生在子类和父类之间。
    • 方法名、参数列表和返回类型都必须相同。
    • 运行时确定,属于动态多态性。

上一篇:java调用第三方接口方法流程

下一篇:double保留两位小数 java

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

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

Laravel 中文站