比较相似术语之间的差异

之间的区别

首页 / 技术 / 它 / 编程 /Java中重载和重写的区别

Java中重载和重写的区别

2018年1月16日发布的Lithmee

关键区别-重载vs Java重写

面向对象编程(OOP)是软件开发中的一个主要范例。它是一种用来设计程序的方法论类和对象。一个类是一个蓝图。它描述了对象中应该包含的内容。它定义了对象应该包含的属性和方法。因此,对象是类的实例。这些对象与其他对象通信。OOP的一个主要概念是多态性。它是一个对象以多种方式表现的能力。多态性分为重载和重写两个部分。本文讨论了这两者在Java.的关键的区别重载和重写之间的区别是重载是用不同的实现创建多个同名方法的能力,覆盖是为父类中已经存在的子类方法提供实现.

内容

1.概述及关键区别
2.什么是Java中的重载
3.什么是Java重写
4.Java中重载和重写的相似性
5.并列比较-表格形式的Java重载和重写
6.总结

什么是Java中的重载?

重载是用不同的实现创建多个同名方法的能力。请参考下面的Java代码。

Java中重载和重写的区别

图01:Java程序,解释了使用不同数量的参数进行重载

根据上面的程序,类A包含两个同名的方法。第一种求和方法有两个参数。第二种求和方法有三个参数。当创建A类型的对象并调用sum(2,3)时,它将调用带两个参数sum(int A, int b)的sum方法,返回5。当创建A类型的对象并调用sum(2,3,4)时,它将调用另一个带三个参数的sum方法,即sum(int A, int b, int c),返回9。

方法名相同,但参数数量不同。可以观察到同一个对象的行为不同。这个概念被称为重载。它也被称为静态绑定或编译时多态.

还可以使用不同的数据类型进行重载。请参考下面的Java代码。

java_图02中的重载和重写之间的区别

图02:Java程序,它解释了使用不同数量的参数进行重载

根据上述程序,类A由两个同名方法组成。sum(int a, int b)方法接收两个整数值。sum(double a double b)接收两个双精度值。当创建类型A的对象并调用sum(2,3)时,它将调用sum(int A, int b)并返回值5。当调用sum(3.4, 5.6)时,它会调用sum(double a double b)并返回值9.0。在本例中,方法名称相同,但变量类型不同。这也是超载。

什么是Java重写?

在Java中,可以用已有的类构建子类。与其从头创建新类,还不如使用已有类的属性和方法。现有的类是超类,派生的类是子类。当子类为已经在父类中的方法提供实现时,它被称为重写。参考下面的Java程序。

Java中重载和重写的关键区别

图03:用于重写的Java程序

根据上面的程序,类A有一个方法display()。类B从类A扩展而来,因此类B可以访问类A的属性和方法。类B具有具有特定实现的方法display()。当创建类型为A的对象并调用显示方法时,它将给出输出B。尽管类A有一个显示方法,但它被类B的显示方法覆盖。子类实现了父类中已经存在的方法。

这个概念是多态性的一种类型,称为重写。它也被称为后期绑定,动态绑定,运行时多态.

在Java中重载和重写有什么相似之处?

  • 两者都是多态性的类型。
  • 在重载和重写中,方法有相同的名称。

在Java中重载和重写之间的区别是什么?

Java中的重载vs重写

Java中的重载是用不同的实现创建多个同名方法的能力。 Java中的重写是为父类中已经存在的方法在子类方法中提供特定的实现。
参数
在重载中,方法名称相同,但参数数量不同或参数类型不同。 在重写中,方法具有相同的名称,且参数必须相同。
主题
重载发生在类内部。 重写发生在具有继承关系的两个类中。
同义词
重载称为编译时多态性。 重写称为运行时多态性。

总结——重载vs Java重写

多态性是面向对象编程中的一个重要概念。它为对象提供了以多种方式运行的能力。这可以是重载或重写。重载是编译时多态性,覆盖是运行时多态性。它们在软件应用程序开发中很有用。override和overloading之间的区别在于,重载是用不同的实现创建多个同名方法的能力,而override是为父类中已经存在的方法在子类方法中提供特定的实现。可以在Java中实现重载和重写。

下载Java中的PDF重载vs重写

你可以下载这篇文章的PDF版本,并根据引用说明离线使用它。请按此下载PDF版本Java中重载和重写的区别

参考:

1. tutorialspoint.com。“Java压倒一切”。这一点.可以在这里
2.Java中的方法重载- Javatpoint。可以在这里
3.“Java中的方法重写- javatpoint。”可以在这里

相关文章:

JSF2和Seam3的区别 算法和伪代码的区别 枚举与迭代器的区别 抽象类与具体类的区别 Struts和Spring MVC的区别

了下:编程标记:比较Java中的重载和重写,编译时多态,动态绑定,后期绑定,Java差异中的重载和重写,Java相似性中的重载和重写,重载Java中,Java定义中的重载,Java参数中的重载,重载Java同义词,Java主题中的重载,Java中的重载vs重写,覆盖在Java中,Java定义中的重写,重写Java参数,在Java同义词中重写,Java主题中的重写,运行时多态,静态绑定

关于作者:Lithmee

Lithmee Mandula是计算机系统工程学士(荣誉)毕业生。她目前正在攻读计算机科学硕士学位。她的写作和研究领域包括编程、数据科学和计算机系统。

留下一个回复取消回复

你的电邮地址不会被公布。必填字段被标记*

请求的文章

特色的帖子

冠状病毒和感冒症状的区别

冠状病毒和感冒症状的区别

冠状病毒与SARS的区别

冠状病毒与SARS的区别

冠状病毒与流感的区别

冠状病毒与流感的区别

冠状病毒和Covid - 19的区别

冠状病毒和Covid - 19的区别

你可能会喜欢

单因素方差分析和双因素方差分析的差异

拘票与法庭拘票的区别

拘票与法庭拘票的区别

黑莓Z10和三星Galaxy S3的区别

钠和氯化钠的区别

钠和氯化钠的区别

小溪和河流的区别

小溪和河流的区别

最新的文章

  • 植物雌激素和异种雌激素有什么区别
  • 囊性痤疮和激素性痤疮有什么区别
  • 大疱性类天疱疮与寻常型天疱疮有何区别
  • 铁碳图和TTT图有什么区别
  • 比沙可地和甘油栓的区别是什么
  • 白藜芦醇和葡萄籽提取物有什么区别
  • 首页
  • 职位空缺
  • 关于
  • 请求的文章
  • 联系我们

版权©2010 - 2018之间的区别.保留所有权利。使用条款和隐私政策:法律.