重写(覆盖 override)和重载(overload)

在继承中,子类可以定义和父类相同的名称且参数列表一致的函数,将这种函数称之为函数的重写.

 


 

前提:必须要有继承关系

 


 特点

 

1:当子类重写了父类的函数,那么子类的对象如果调用该函数,一定调用的是重写过后的函数。

 

   可以通过super关键字进行父类的重写函数的调用。

 

2: 继承可以使得子类增强父类的方法


 

细节
1: 函数名必须相同
2:参数列表必须相同
3: 子类重写父类的函数的时候,函数的访问权限必须大于等于父类的函数的访问权限否则编译报错
4:子类重写父类的函数的时候,返回值类型必须是父类函数的返回值类型或该返回值类型的子类。不能返回比父类更大的数据类型: 如子类函数返回值类型是Object

 


 

 

重载和重写的不同

1:重载(overload):  

  1:前提: 所有的重载函数必须在同一个类中 

  2:特点:函数名相同,参数列表不同,与其他的无关(访问控制符、返回值类型)

  3:不同:个数不同 、 顺序不同、 类型不同 

2:重写(override)

  1:前提: 继承

  2:特点:函数名必须相同、参数列表必须相同。子类的返回值类型要等于或者小于父类的返回值


 

posted @ 2015-10-17 22:55  沐风先生  阅读(128)  评论(0)    收藏  举报