Java重载与重写:详细解析及区别对比

创始人
2025-01-14 08:20:22
0 次浏览
0 评论

java中重载与重写的区别

Java中有两种,一种是重写方法,一种是成员方法。
但功能不同。
相同成员是指父类继承该类后,可以重写父类的方法和属性。
如果类的方法和方法名与父类相同,则父类中的属性和方法会被覆盖。
它们只会损害同一类中的方法。
类和父类之间存在重叠,属性和方法都可以被重写。
因为它使得重写和附加写入变得困难。

java重载和重写的区别

重载和重写在Java中是不同的概念。

1.重载

重载是一个同名的方法。
但参数列表不同。
您可以定义多个具有相同名称但不同参数的方法。
重载的方法必须存在于同一个类中,并且方法名和参数列表必须完全相同。
仅参数类型或参数数量可能不同。
重载方法可以有各种访问修饰符。
当调用重载方法时,Java编译器根据传递的参数类型和数量来决定调用哪个方法。

2.重写

重写是指子类重写了超类允许访问的方法的实现过程。
返回类型、方法名称和参数列表必须相同。
类的方法与其父类的方法相同。
子类重写超类方法的目的是改变超类方法的原始功能或添加新功能。
如果超类中的对象在子类中使用此方法,则子类的实现将覆盖超类的实现。
重写是面向对象编程的一个重要特性,它提高了类的继承性和可重用性。
子类重写超类方法时,必须遵循其访问权限不能低于超类方法的原则。

重载的特点:

1.重载发生在同一个类中。

2.方法名称相同,但参数列表不同。
参数的数量可以不同,并且参数的类型可以不同。

3.重载方法可以有各种访问修饰符。

重写特点:

1.重写发生在超类和子类之间。
子类重写超类方法来实现特定功能或更改原始功能。

2.子类重写的方法必须与超类方法具有相同的方法名称和参数列表。
并且返回类型必须与父类方法或其子类型匹配。

3.子类重写的方法不能比超类方法具有更受限制的访问权限。
例如,如果超类方法是公共的,则被子类重写的方法不能是受保护的或私有的。

java重载和重写的区别

1.定义区别:

①重载是指不同的函数使用相同的函数名,但函数参数的数量或类型不同。
根据调用时的函数参数来区分不同的函数。

②覆盖(也叫重写)是指在派生类中重新实现基类中的虚函数(注意是虚函数)。
即函数的名称和参数相同,但函数的实现不同。

2.类关系的区别

Overriding是子类和父类之间的关系,是纵向关系;重载是同一个类中方法之间的关系,是横向关系。

3.生成方法的差异

重写只能由一个方法或一对方法生成;重载是多个方法之间的关系。

4.参数列表要求不同

重写需要相同的参数列表;重载需要不同的参数列表。

5.调用方法的区别

覆盖关系中,根据对象类型确定调用方法体,而重载关系中,根据select调用时的实参列表和形参列表方法体。

扩展信息

重写方法:

1在子类中,可以根据需要重写从基类继承的方法。

2.被重写的方法和被重写的方法必须具有相同的方法名、参数列表和返回类型。
(注:返回值可以是父类中返回值的子类型,如果参数是子类,则不是重写而是重载)

3.被重写的方法不能使用除被重写的方法之外的其他方法。
更严格的访问权限。

4.被重写的方法不能声称抛出比被重写的方法更广泛的异常类型。

总结:重写就是对子类继承的父类的相同方法进行修改。
这种修改必须遵循父类格式、访问权限、异常抛出等,都在父类文件的方法控制范围内,具体内部实现可以达到不同的效果。

热门文章
1
Java字符串分割技巧:轻松获取逗号前的... java任意一个字符串,当它碰到第一个逗号时,返回逗号前面的字符串,例如:str...

2
SQL多表连接查询全解析:JOIN语句应... sql多表关联查询在执行SQL多表连接查询时,可以使用JOIN语句将多个表连接在...

3
Java中字符串类型详解:String与... 变量有字符类型,为什么没有字符串类型??基本类型:charshort、int、l...

4
JavaSE与JavaEE:从基础到企业... javase 和javaee的区别?JavaSE和JavaEE...

5
Java程序员面试必知:核心技术问答与技... java编程程序员技术面试常见面试?随着互联网的不断发展,Java开发已经成为很...

6
Java.exe与Javaw.exe:区... 程序中java和javaw有什么区别java和javaw的区别:两者都是Java...

7
深入解析:Java中的javax包及其与... JAVA导入时,什么是javax?awt是java1.0,swing是java2...

8
Java继承与多态优势解析:简化设计,提... java继承的优点是什么?1.继承关系是可传递的。如果类C继承类B,类B继承类A...

9
标题:深度解析:提升网站SEO效果的关键... 输出1到100之间所有的偶数,没输出五个数另起一行,用C语言作答。谢谢!#inc...

10
Java IO流全解析:基础类型与使用方... java中的io流有哪些Java中的IO流是指通过流的形式对各种输入输出资源进行...