方法重写与方法重载

原创 2013年12月02日 21:35:47

1、方法重写(overiding method)

       1.1在面向对象编程中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。 如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

       1.2方法重写的特性

关于方法重写的一些特性:
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
根据2,3条是不是能确定第一条,子类方法的返回值必须是父类方法返回值的子类。
2、方法重载(overloading method)
        2.1方法重载是让类以统一的方式处理不同类型数据的一种手段。方法重载,其实就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。简单的说,方法重载就是方法名称重复,加载参数不同。

 

        2.2方法重载具体规范

1.方法名一定要相同。
2.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1)如果参数个数不同,就不管它的参数类型了!
2)如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
3.方法的返回类型、修饰符可以相同,也可不同。

 

 

相关文章推荐

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

  • 2011年07月13日 17:32
  • 141KB
  • 下载

C#方法重载(overload)、重写(覆盖)(override)、隐藏(new) -第四天

关于这个定义,个人认为还是比较正确的,实际上有的人把 new 的隐藏称为覆盖,这个可能是使用者的角度来说的。但是目前作者还是偏向于 这样的称呼:C#方法重载(overload)、重写(覆盖)(over...

java重载与重写的区别+重写父类equals方法的完美实现

【0】README0.1) 本文章节【1】和【2】的内容转自 http://www.cnblogs.com/bluestorm/archive/2012/03/01/2376236.html ; ...

方法的重写和重载

http://blog.sina.com.cn/s/blog_4cd5d2bb0100rl7r.html 一、方法的重写。 1、重写只能出现在继承关系之中。当一个类继承它的父类方法时,都有机会重写...

java面向对象的继承以及方法重写和重载

java面向对象的继承 public class ExtendsTest { /* * 把多个类中相同的成员提取出来定义到一个独立的类中。 * 然后让多个类和该类产生联系。这多个类就具备了...

java学习中重写与重载方法的区别

重写的主要优点是能够定义某个子类特有的特征: public class Father  {      public void speak() {           System.out.pri...

java基础---方法的重载(overload)和覆盖(重写)(override)

重载(overload):对于类的方法(包括从父类中继承的方法),方法名相同,参数列表不同,就称之为函数的重载。重载是一个类中多态性的一种表现。Java的方法重载,就是在类中可以创建多个方法,它们具有...

Java中方法的重写(override)和重载(overload)的使用规则总结:

Java中方法的重写(override)和重载(overload)的使用规则总结

JAVA方法的重写与重载的原则

请看这道题: QUESTION NO: 10 Click the Exhibit button. Which statement is true about theclasses and interf...

类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字

类、对象、继承、封装、多态、方法的重载和重写、Java的访问修饰符与其它关键字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:方法重写与方法重载
举报原因:
原因补充:

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