java的重写与重载的区别

转载:http://blog.csdn.net/cxwen78/article/details/6660161

一、重写(overriding)

  重写:也叫覆写、改写或重构,它是指在类继承时,子类重新定义了从父类继承来的方法。它用于父子之间,子类中声明与父类同名的方法,从而覆盖了父类的方法。重构解决了子类与父类的差异问题。方法重写需要遵循的规则如下:

  1. 方法名称一定要一样;
  2. 返回值数据类型要一样;
  3. 所使用的参数要一样;
  4. 修饰符的使用权限只能越开放,不能越封闭。public–>protected–>(default/package)–>private
  5. 用final修饰的方法将不能再被重写。

二、重载(overloading)

  重载:是指在同一个类中,有多个同名方法,只是方法的参数列表不同,适用于不同的调用情况。通俗的说是一个类中声明了多个相同名字的但可区分的方法。重载也有规则要遵守:

 

  1. 方法的名称一定要一样;
  2. 传入的参数类型一定要不一样。
//重载,同一个类中的同名不同参方法  
class A {  
  public d (){};  
  public d (q){};  
  public d (q,w){};  
}  

 

//重写,子类继承父类时,对父类方法的重写  
class B extends A{  
  public d (q,f){};  
}  

 

 

版权声明:本文为tianxue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/tianxue/articles/JavaOverrideAndOverLoading.html