方法的重载(overloading)与重写(overriding)

原创 2006年06月12日 09:52:00

方法名,参数相同形成重写,重写的方法不能降低原方法的"可见度",也不能改变原方法的返回值类型。

方法名相同,参数不同(个数、类型)形成重载,重载的方法可看成一个全新的方法,与原方法相比它可以有不同的"可见度"和“返回值类型”。如下例:

class A {
 protected int method1(int a, int b) { return 0; }
}
public class B extends A{ 
 public int method1(int a, int b) { return 0; } //正确,重写父类方法,可以扩大访问权限
 //private int method1(int a, int b) { return 0; } //错误,重写父类方法,不能降低了访问权限
 //private long method1(int a, int b) { return 0; } //错误,重写父类方法,不能改变返回值类型
 public short method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型
 private int method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型
}

但这里 方法public short method1(int a, long b) { return 0; }和 方法private int method1(int a, long b) { return 0; }不能同时存在,因为在同一类中,不允许存在相同名字和参数类型的方法(重写的方法)。

java中方法的重写(overriding)与重载(overloading)的区别

方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多...
  • ammylinplx
  • ammylinplx
  • 2014年10月03日 15:54
  • 573

Java中的方法重写(Overriding)与方法重载(Overloading)

1.定义 Overriding和Overloading对Java编程新手来说是两个比较容易混淆的概念。 方法重载(Overloading)是一个类中定义了多个方法名相同,而他们的参数的数量...
  • u013982333
  • u013982333
  • 2014年03月27日 15:45
  • 654

重载(Overloading)与 重写(Overriding)

1. 方法重载:针对于同一个类中,相同方法名,不同参数签名的方法 1,方法重载是让类以统一的方式处理不同数据类型,既是:多个方法具有相同方法名,不同方法签名(参数类型/个数不同) 2.调用方法的时...
  • Liwnagshan
  • Liwnagshan
  • 2014年03月31日 14:34
  • 317

Java中的方法重写(Overriding)与方法重载(Overloading)

1.定义 Overriding和Overloading对Java编程新手来说是两个比较容易混淆的概念。 方法重载(Overloading)是一个类中定义了多个方法名相同,而他们的参数的数量不同或数...
  • sunling_sz
  • sunling_sz
  • 2014年03月27日 12:47
  • 1057

java中的重载(overriding)跟重写(overloading)理解

话说前两天学校来了传说中的“校招”,主要是来宣讲的,对于我们这种普通二本院校,没有那种大公司来的,来了也是打着别人的招牌,我参加了笔试。 哎,虽然都是基础,但是感觉都忘的差不多了,其中一个关于面向对...
  • zzg2511471213
  • zzg2511471213
  • 2013年03月24日 09:50
  • 382

Java学习笔记之重写(Overriding)与重载(Overloading)

更多博文可参考我的个人独立博客:贱贱的梦想 重写(Overriding)重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可...
  • GongchuangSu
  • GongchuangSu
  • 2016年05月28日 22:24
  • 278

Java中重载Overloading与重写Overriding的区别

首先我们来讲讲:重载(Overloading)     (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。 重载Overloading...
  • antony_wu521
  • antony_wu521
  • 2015年12月11日 17:24
  • 113

Java中重载(Overloading)与重写(Overriding)的区别

重载(Overloading) 1、重载(Overloading)是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。 2、重载(Overloadin...
  • wmz545546
  • wmz545546
  • 2017年08月05日 19:27
  • 95

方法重写、重载、以及它们的区别

一,方法    是一段用来完成特定功能的代码片段。方法在其他语言中也叫函数。    在方法里面定义局部变量不能有修饰符,final除外    语法    [修饰符]+[修饰符]+返回值类型+方...
  • a765717
  • a765717
  • 2016年02月23日 14:10
  • 3615

方法重写与方法重载的区别

方法重写(override):即方法覆盖。指的是父子类中方法的关系。父类A中有方法method1,在子类中想要使用method1这个方法签名而又要实现与父类method1方法不同的功能,这个时候就要用...
  • u010921701
  • u010921701
  • 2016年10月31日 17:15
  • 1316
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:方法的重载(overloading)与重写(overriding)
举报原因:
原因补充:

(最多只允许输入30个字)