java方法重载和重写简介说明

欣喜 Java经验 发布时间:2025-02-24 09:31:47 阅读数:11030 1
下文笔者讲述Java中方法重载(Overloading)
和方法重写(Overriding)的简介说明:

方法重载(Overloading)

方法重载
   是指在同一个类中定义多个方法
    它们具有相同的方法名但参数列表不同(参数类型不同、参数数量不同或两者都不同)
	  方法重载
	     主要目的是提高代码的可读性和灵活性。

特点:
- 方法名相同:
     重载的方法必须具有相同的方法名
- 参数列表不同:
     参数的数量、类型或顺序必须不同
- 返回类型可以不同:
     返回类型不同不是重载的必要条件,但可以作为重载的一部分
- 访问修饰符可以不同:
     访问修饰符(如`public`, `private`等)不同不会导致重载
- 异常声明可以不同:
     异常声明不同也不会导致重载
public class Calculator {
    // 重载方法:两个整数相加
    public int add(int a, int b) {
        return a + b;
    }

    // 重载方法:三个整数相加
    public int add(int a, int b, int c) {
        return a + b + c;
    }

    // 重载方法:两个双精度浮点数相加
    public double add(double a, double b) {
        return a + b;
    }
}

方法重写(Overriding)

方法重写
  是指子类重新定义父类中已有的方法
   且方法签名(方法名和参数列表)必须完全相同
    方法重写的主要目的是实现多态性
	 允许子类提供特定于自身的实现

特点:
- 方法名相同:
   重写的方法必须具有相同的方法名。
- 参数列表相同:
   重写的方法必须具有相同的方法参数列表。
- 返回类型相同或兼容:
    重写的方法返回类型必须与父类方法的返回类型相同
	  或
	返回类型的子类型(协变返回类型)。
- 访问修饰符不能更严格:
    重写的方法访问修饰符不能比父类方法更严格
	  (例如,父类方法是`public`,子类方法不能是`protected`或`private`)
- 异常声明不能更宽泛:
    重写的方法不能抛出比父类方法更宽泛的异常。
class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
}

方法重载和方法重写汇总说明

- 方法重载:
    发生在同一个类中
	   方法名相同,参数列表不同。
- 方法重写:
    发生在子类中
	   方法名和参数列表与父类相同
	     实现不同的功能。
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202502/17403616078321.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者