写出方法覆盖(override)和方法重载(overload)区别

简介: 写出方法覆盖(override)和方法重载(overload)区别

面试题目:写出方法覆盖(override)和方法重载(overload)区别。


方法的重载:overload


a. 方法重载:在一个类中定义多个同名方法,但是形参列表不同。

b. 方法重载的要求:

I. 方法名相同

II. 形参列表不同(个数、顺序、类型)

III. 修饰符、返回值类型、异常没有要求

注意:只是形参名字不同不能构成方法的重载

public void m1(int n){}

public void m1(int i){}// 重复,不允许

c. 使用:在调用时 对象名.方法名(实参);

自动根据给定的实参匹配对应形参方法

d. 注意:根据实参匹配对应形参时,先精确匹配,精确匹配不成功,再就近

向上匹配,如果就近向上匹配不成功,则编译报错;注意避免陪陪

混淆现象

public void m1(int i,double d){}

public void m1(double d,int i){}

// 如果 mc.m1(10,10);匹配混淆

e. 好处:可以屏蔽因参数不同而导致方法实现不同及名字不同的差异;

方便外界调用

f. 应用场景:一种功能方法因形参带来的实现不同时,避免名字太多而造成调用繁琐



方法的覆盖(override)(方法的重写)


(1) 概念:子类中定义和父类中相同的方法。

(2) 方法覆盖的要求:

a. 子类的方法名、返回值类型、形参列表和父类相同

b. 子类的方法访问修饰符和父类相同或是比父类更宽

(3) 使用:子类对象名.方法名(实参);// 优先使用子类覆盖后的方法

(4) 注意:

a. 子类定义类和父类方法名相同、形参列表相同,但是返回值不同,编译

报错

b. 子类定义和父类方法名相同、形参列表不同的方法,编译通过,运行也

通过,但是此应用为特殊的方法重载


目录
打赏
0
0
0
0
723
分享
相关文章
Java方法重写(Override)与重载(Overload)的详细对比
在Java编程中,多态性是面向对象编程的核心概念之一。Java通过两种重要的机制来实现多态:方法重写(Override)和方法重载(Overload)。虽然这两个概念都与方法的不同实现有关,但它们在本质上有很大的区别。本文将详细对比这两种机制,帮助开发者更好地理解和应用它们。
73 5
什么是重载(Overload)和重写(Override) ?
重载:发生在同一个类中,方法名相同参数列表不同(参数类型不同、个数不同、顺序不同),与 方法返回值和访问修饰符无关,即重载的方法不能根据返回类型进行区分 重写:发生在父子类中,方法名、参数列表必须相同,返回值小于等于父类,抛出的异常小于等于 父类,访问修饰符大于等于父类(里氏代换原则);如果父类方法访问修饰符为private则子类中 就能是重写。
|
4月前
|
被final修饰的类的所有方法都不能被重写吗
在Java中,被`final`修饰的类不能被继承,因此其所有方法也不能被重写。`final`关键字确保了类的定义和行为不会被子类改变。
193 3
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
在 Java 中,重写(Override)和重载(Overload)是两种不同的概念,用于实现多态性。它们有着不同的作用和使用场景。
在 Java 中,重写(Override)和重载(Overload)是两种不同的概念,用于实现多态性。它们有着不同的作用和使用场景。
2. 什么是重载(Overload)和重写(Override) ?
重载(Overload): 重载是指在同一个类中可以定义多个具有相同名称但参数列表不同的方法。这些方法可以有不同的返回类型、不同的参数类型、不同的参数顺序或不同的参数个数。编译器根据方法的不同参数特征来区分它们,并根据调用时提供的参数类型和个数来确定执行哪个方法。简单来说,重载允许在同一个类中定义多个方法,以便根据不同的参数情况来执行不同的操作。
351 0
java方法重写(Override)
1.重写的概念 重写是子类对父类(或爷爷及以上类)的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 2.实现一个简单的Demo 父类:
145 0
java方法重写(Override)
重写,重写规则 Super 关键字的使用,重写与重载之间的区别 , @override有什么用,以及加不加@override有什么区别
重写,重写规则 Super 关键字的使用,重写与重载之间的区别 , @override有什么用,以及加不加@override有什么区别
Java面向对象(9)--方法的重写(override/overwrite)
Java面向对象(9)--方法的重写(override/overwrite)