JAVA中重载与重写有什么区别?

JAVA中重载与重写有什么区别?
最新回答
给你一口甜甜

2023-01-30 04:31:23

JAVA中重载与重写的主要区别如下

1. 定义上的区别重载:是指在同一个类中,方法名相同但参数列表不同的方法。重载的方法可以有不同的返回类型和访问修饰符,但方法名与参数列表必须不同。 重写:是指在子类中重新定义父类中已经定义过的方法。重写的方法必须具有相同的方法名、参数列表和返回类型。此外,重写的方法不能降低父类方法的访问权限。

2. 发生位置上的区别重载:发生在同一个类中。 重写:发生在子类中,是对父类方法的重新定义。

3. 参数列表上的区别重载:要求方法名相同但参数列表不同。 重写:要求方法名、参数列表和返回类型都相同。

4. 访问权限上的区别重载:对访问权限没有特殊要求。 重写:子类重写的方法不能降低父类方法的访问权限,例如,如果父类方法是public,则子类重写的方法也必须是public。

5. 功能上的区别重载:主要用于提供多种形式的操作,以便根据不同的参数调用不同的方法实现。 重写:主要用于子类对父类方法进行特定化的实现,以提供更适合子类需求的行为。

综上所述,重载和重写是JAVA中两种不同的方法多态性实现方式,它们各自具有不同的定义、发生位置、参数列表要求、访问权限要求和功能特点。