在学习方法的阶段我学习了方法重载(Overload),而在学习面向对象三大特性之继承的时候我又学习了方法重写(Override)。

 

概念:

方法重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数不同或者类型不同即可。

方法重写: 子类中出现和父类中一模一样的方法声明,方法的名称和参数列表都相同。

 

特点:

方法重载:与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机通过参数列表的不同来区分同名方法。

方法重写: 创建子类对象时方法名相同就调用子类的。

使用场景:

方法重载:在同一个类需要定义两个或者多个方法,方法功能相似但参数类型不同时,使用方法重载使方法名相同。

方法重写:当子类需要父类的功能,而功能主体子类又有自己特有的功能时,可以重写父类的方法。这样即沿袭了父类的功能,也定义了子类特有的功能(使用super关键字)

 

注意事项:

方法重载:

  方法重载参数列表的不同可以分为:1、参数个数不同;  2、参数类型不同,  3、参数的多类型顺序不同。

  举例:1、  (int a, int b)       (int a, int b, int c)

     2、  (int a, int b)      (double a, doule b)

     3、  (int a, doule b)     (doulbe a, int b)

方法重写:

  1、父类的私有方法不能被子类重写。

  2、子类重写父类的方法访问权限不能更低(Java 中一共有四种访问权限控制,其权限控制的大小情况是这样的:public  >  protected  >  (default)  >  private )。

权限修饰符

 

public

protected

default

private

同一类中

 √

 √

 √

同一包子类,其他类

 √

 √

 √

 

不同包 子类

 √

 √

 

 

不同包 其他类

 √

 

 

 

  3、子类方法的返回值必须小于等于父类方法的返回值范围。

  4、静态的方法也要使用静态方式书写。

最新文章

  1. 安卓与IOS移动段浏览器视频与音频的问题与总结
  2. Base64编码【转】
  3. 译:DOM2中的高级事件处理(转)
  4. 攻城狮在路上(壹) Hibernate(五)--- 映射一对多关联关系
  5. 详解Bootstrap媒体对象
  6. java bean、List、数组、map和Json的相互转化
  7. C#连接Oracle简单教程
  8. emacs 操作集锦
  9. CSS3伪类
  10. 视频资源下载方法[download video resources]
  11. GB2312引进和使用的字体
  12. 从FMDB到WCDB、微信团队怎么说?
  13. Redis sentinel & cluster 原理分析
  14. mysql 开发进阶篇系列 5 SQL 优化(表优化)
  15. Bean笔记
  16. 【CF908G】New Year and Original Order(动态规划)
  17. Spring ApplicationContext(二)环境准备
  18. WARNING: The host 'r6' could not be looked up with /usr/local/mysql/bin/resolveip.
  19. 模式识别之bpnn---神经网络训练
  20. C++判断char*的指向

热门文章

  1. 04-03 scikit-learn库之AdaBoost算法
  2. 【JZOJ5248】花花的聚会
  3. mysqlbinlog增量恢复(基于使用事件位置position的恢复)
  4. linux系统下使用宝塔面板安装owncloud常见问题
  5. SQL 存储过程示例讲解
  6. unittest生成测试报告
  7. 机器学习:不平衡信息有序平均加权最近邻算法IFROWANN
  8. formidable处理提交的表单或文件的简单介绍
  9. wpf 依赖强制回调
  10. 在非洲运营互联网系统-PAYGo方案