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

JAVA重载与覆盖原则

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐

    JAVA的重载和覆盖(论文)

    JAVA中的重载(Overload)和覆盖(Override)是面向对象编程中两个核心概念,尤其在多态性的体现上扮演着重要角色。这两者虽然在名称上相似,但在实际应用和概念理解上有着本质的区别。 ### 重载(Overload) 重载是在同...

    Java方法继承、方法重载、方法覆盖小结.doc

    方法覆盖是 Java 编程语言的一种机制,允许子类定义一个与父类中方法相同的方法,以便于覆盖父类的方法。方法覆盖可以使子类提供自己的实现,以便于更好地满足特定的需求。例如,一个子类可以覆盖父类中的一个方法,...

    java中重载、覆盖和隐藏三者的区别分析

    在Java编程语言中,重载(Overloading)、覆盖(Overriding)和隐藏(Hiding)是三个重要的概念,它们都是多态性(Polymorphism)的表现形式,但各自有着独特的规则和特点。 **重载(Overloading)** 重载是指在同...

    深入理解java中的重载和覆盖

    3. **子类不能通过重载覆盖父类的私有(private)方法**:如果子类试图定义与父类中私有方法相同名称和参数列表的方法,那只是创建了一个新的方法,而非重载。 **二、什么是覆盖(Overriding)** 覆盖发生在继承关系中...

    Java编程原则

    - **实践**:在Java中,多态可以通过方法重载(overloading)和方法覆盖(overriding)来实现。此外,还可以通过接口实现多态,即不同的类实现同一个接口。 #### 四、面向对象编程的意义 面向对象编程之所以能够在...

    Java理论与实践再研究.pdf

    Java类的高级特性章节进一步加深了对类的理解,包括继承、方法覆盖和重载、多态、Static和Final修饰符的作用、内部类以及Java内存分配的知识。这些高级特性是编写高效和可复用Java程序的关键。 数据结构和枚举是...

    清华大学《JAVA语言与面向对象程序设计》试卷及其答案.pdf

    11. Java类方法的覆盖:文档中提到了子类对父类方法的覆盖(重写),学生需要理解方法覆盖的原则,例如访问修饰符不能比父类更严格。 12. Java程序参数:文档提到了程序运行时如何获取命令行参数,例如args数组的...

    JAVA经典试题集合

    这些题目涵盖了Java编程语言中的多个核心知识点,包括数据类型的转换、方法重载与覆盖、异常处理和程序流程控制。下面是对这些知识点的详细解释: 1. 数据类型转换:在Java中,运算时会遵循类型提升的原则。当一个...

    java继承.pdf

    本文将深入探讨Java继承的基本语法、方法重载与覆盖、多态性,以及正确运用继承原则的重要性。 #### 继承的基本语法 在Java中,通过`extends`关键字实现类的继承。例如: ```java public class Sub extends Base ...

    java继承和多态PPT教案学习.pptx

    在本文中,我们详细讨论了Java中继承和多态的基本概念,包括里式代换原则、方法重载、构造函数重载和方法覆盖等。通过掌握这些概念,我们可以在实际开发中更好地利用Java语言提供的工具,提高代码质量,加速开发过程...

    Java学习笔记(必看经典).pdf

    Java中的方法重载(Overloading)和方法覆盖(Overriding)是多态的两种表现形式。方法重载是指在同一类中可以定义多个同名方法,只要它们的参数列表不同。而方法覆盖是指子类重写父类中的方法,这要求方法名称、...

    Java复习题及答案

    `this`关键字用于引用当前对象,特别是在有重载方法或实例变量与局部变量同名时。 Java中的`String`和`StringBuffer`的区别在于`String`是不可变的,一旦创建就无法改变,而`StringBuffer`是可变的,适合在需要频繁...

    java笔记 java笔记

    3. **加载与执行**:通过Java虚拟机(JVM)加载字节码并解释执行。 #### 1.3 Java目录结构 Java开发环境通常包括以下几个关键目录: - **src**:存放源代码。 - **bin**:存放编译后的字节码文件。 - **lib**:存放...

    类继承方法重载

    在某些语言中,如C++和Java,方法重载仅基于参数列表,返回类型不能用于区分重载方法。而在Python中,返回类型、参数个数以及参数类型都可以作为重载的依据。 在这个小程序案例中,我们可以预期看到以下情况: 1. ...

    《MLDN出品JAVA风暴JAVA学习的终极资料》JAVASE压缩包

    2. **面向对象编程**:Java是一种面向对象的语言,资料可能会详细讲解类的创建、对象的实例化、构造函数、方法重载与覆盖、抽象类和接口、访问修饰符以及封装原则的实现。 3. **异常处理**:Java的异常处理机制是其...

    java面试题目精选

    - **Java运算符**:全面覆盖了Java中的各种运算符,包括算术运算符、比较运算符、逻辑运算符等。 - **参数传递**:解析了Java中参数传递的方式及其工作原理。 - **类型转换**:详细说明了不同类型数据之间的转换...

    java csdn java++

    2. **面向对象编程**:Java是一种面向对象的语言,所以资料中可能涉及类的设计原则、接口、抽象类、构造器、方法重载和覆盖、访问修饰符等。 3. **异常处理**:如何使用try-catch-finally语句块进行异常捕获和处理...

    《Java语言程序设计(进阶篇)》 课后习题第21章代码chapter21.rar

    此外,习题可能还会涵盖构造器、访问修饰符、重载和覆盖等面向对象的基本原则。 其次,异常处理是Java程序中不可或缺的部分。在处理可能出现错误的情况时,Java提供了try-catch-finally语句块来捕获和处理异常。...

    关于JAVA继承的讲解

    Java 继承是面向对象编程中的一个重要概念,它允许一个类(子类)从另一个类(父类)中继承属性和方法,从而实现代码的...同时,理解这些概念有助于提高代码的可读性和可维护性,这也是Java编程实践中的核心原则之一。

    SUN公司JAVA认证

    重点是类的构造器、访问修饰符、继承、接口、抽象类、方法重载和覆盖等。 3. **内存管理**:理解Java中的垃圾回收机制,以及如何创建和销毁对象。这包括了解引用类型,比如强引用、软引用、弱引用和虚引用的区别。 ...

Global site tag (gtag.js) - Google Analytics