`
meikebo
  • 浏览: 16009 次
社区版块
存档分类
最新评论

JAVA重载与覆盖原则

    博客分类:
  • JAVA
阅读更多
覆盖:如果在子类中定义的一个方法,其名称,返回类型及参数签名正好与父类中某个方法的名称,返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。
覆盖注意以下几点:
1)子类方法的名称,参数签名和返回类型必须与父类方法的名称,参数签名和返回类型一致
2) 子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常。
4)方法覆盖只存在于子类和父类(包括直接父类和间接父类)之间,在同一个类中方法只能被重载,不能被覆盖。
重载:指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。
重载注意以下几点:
1)在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序
2)不能通过访问权限、返回类型、抛出的异常进行重载。
3)方法的异常类型和数目不会对重载造成影响。
4)对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

重载,就是在一个类中用同一个方法名,但有不同方法。

原则:1.方法名必须相同。

      2.方法的参数类型和参数个数两者至少有一不同。

      3.方法的修饰符和返回值类型可以不同。

覆盖,就是子类中出现于父类相同的方法。

原则:1.方法名必须相同。

      2.方法的参数个数及类型必须完全相同。

      3.返回值类型必须相同。

      4。子类不能缩小访问权限。

      5。子类不能抛出比覆盖方法更多的异常。

多态性概念: 在程序中同一符号或名字在不同情况下具有不同的语义解释,其有两种基本形式: 编译时多态性: 在程序编译时可确定的多态性,由重载机制实现 运行时多态性: 指程序动态运行时才可确定的多态性,由继承结合动态绑定实现。我的理解就是,方法的重载体现了多态,累的继承体现了多态。
分享到:
评论

相关推荐

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    7.5.6 重载中的最难点——参数匹配原则 171 7.6 使用类的实例作为方法参数 172 7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 ...

    java学习重点

    多态性 (重载overload,方法名相同、参数的个数不同、参数的类型不同、返回的类型不同和覆盖override) ;多态性就是“一种接口,多种方法”,可以为一组相关的动作设计一个通用的接口,其实类的函数的重载就是一种...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    7.5.6 重载中的最难点——参数匹配原则 171 7.6 使用类的实例作为方法参数 172 7.6.1 超车方法:使用类实例做参数 172 7.6.2 调用这个方法 173 7.6.3 发生了什么 174 7.7 加餐:局部变量和实例变量 175 7.7.1 ...

    java基础课程重点笔记.rar

    重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊...

    java学习笔记 初学者必读

    7.3.1. 方法的覆盖(overridding) 7-18 7.3.2. 多态的分类 7-18 7.3.3. 运行时多态的三原则 7-19 7.3.4. 关系运算符:instanceof 7-20 7.4. 静态变量,方法和类 7-20 7.5. Singleton模式 7-22 7.6. final关键字 7-...

    corejava培训文档

    7.3.1. 方法的覆盖(overridding) 7.3.2. 多态的分类 7.3.3. 运行时多态的三原则 7.3.4. 关系运算符:instanceof 7.4. 静态变量,方法和类 7.5. Singleton模式 7.6. final关键字 7.6.1. final变量不能被...

    整理后java开发全套达内学习笔记(含练习)

    Override [java] 方法的覆盖(覆盖父类的方法) [,әuvә'raid] polymiorphism[java] 多态 (polymorphism 多形性[,pɒli'mɒ:fizm]) allowing a single object to be seen as having many types. principle n.原则,...

    软件测试教学文档 java test

    数据与数据库完整测试是指测试关系型数据库完整性原则以及数据合理性测试。 数据库完整性即: 主码完整性:主码不能为空; 外码完整性:外码必须等于对应的主码或者为空。 数据合理性指数据在数据库中的类型,...

    corejavaNoteBook

    7.3.1. 方法的覆盖(overridding) 7-18 7.3.2. 多态的分类 7-18 7.3.3. 运行时多态的三原则 7-19 7.3.4. 关系运算符:instanceof 7-20 7.4. 静态变量,方法和类 7-20 7.5. Singleton模式 7-22 7.6. final关键字 7-...

    霸屏天下源码java-java-notes:笔记

    面向对象的三个原则 :check_mark_button: 遗产 封装 多态性 抽象 java中的原始类型 :check_mark_button: 类型转换和铸造 :check_mark_button: Java 数组(初始化和声明) :check_mark_button: 二维数组 运算符(只需...

    面向对象技术与UML课件及源代码-by 南邮-陈杨

    本书的知识体系结构如下所示,遵循了循序渐进的原则,逐步引领读者从基础到各个知识点进行学习。 上篇面向对象技术 第1章Java入门 第2章程序设计基础: 变量及其运算 第3章程序设计基础: 流程控制和数组 第4...

    Scala程序设计(第2版)

    4.11 封闭继承层级与全覆盖匹配 105 4.12 模式匹配的其他用法 107 4.13 总结关于模式匹配的评价 111 4.14 本章回顾与下一章提要 111 第5章 隐式详解 112 5.1 隐式参数 112 5.2 隐式参数适用的...

    〖程序设计基础〗练习题2及答案

    8. 在父类中声明为 final 的方法,也可以在其子类中被重新定义(覆盖)。( ) 9. 接口中所有方法均为抽象方法。( ) 10. False 是合法的 Java 标识符。( ) 11. 子类的类成员变量不能与其父类的类成员变量同名。( ) 12. ...

    二十三种设计模式【PDF版】

    目标原则是:降低耦合,增强灵活性. 建筑和软件中模式之异同 CSDN 的透明特别推崇《建筑的永恒之道》,认为从中探寻到软件的永恒之道,并就"设计模式"写了专门文章《探寻软件的永恒 之道 》,其中很多观点我看了很受...

Global site tag (gtag.js) - Google Analytics