java方法重载和重写简介说明
下文笔者讲述Java中方法重载(Overloading)
和方法重写(Overriding)的简介说明:
和方法重写(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"); } }
方法重载和方法重写汇总说明
- 方法重载: 发生在同一个类中 方法名相同,参数列表不同。 - 方法重写: 发生在子类中 方法名和参数列表与父类相同 实现不同的功能。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。