`

Java方法继承、方法重载、方法覆盖总结

    博客分类:
  • java
阅读更多

1、方法继承:利用extends关键字一个方法继承另一个方法,而且只能直接继承一个类。

  * 当Sub类和Base类在同一个包时Sub类继承Base类中的public/protected/默认级别的变量个方法

  * 在不同包时继承public/protected级别的变量和方法。

  2、方法重载:如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。

  * 方法名相同

  * 方法的参数类型,个数顺序至少有一项不同

  * 方法的返回类型可以不相同

  * 方法的修饰符可以不相同

  * main方法也可以被重载

  3、方法覆盖:如果在子类中定义一个方法,其名称、返回类型及参数签名正好与父类中某个方法的名称、返回类型及参数签名相匹配,那么可以说,子类的方法覆盖了父类的方法。

  * 子类的方法名称返回类型及参数签名 必须与父类的一致

  * 子类方法不能缩小父类方法的访问权限

  *  子类方法不能抛出比父类方法更多的异常

  * 方法覆盖只存在于子类和父类之间,同一个类中只能重载

  * 父类的静态方法不能被子类覆盖为非静态方法

  * 子类可以定义于父类的静态方法同名的静态方法,以便在子类中隐藏父类的静态方法(满足覆盖约束), 而且java虚拟机把静态方法和所属的类绑定,而把实例方法和所属的实例绑定。

  * 父类的非静态方法不能被子类覆盖为静态方法

  * 父类的私有方法不能被子类覆盖

  * 父类的抽象方法可以被子类通过两种途径覆盖(即实现和覆盖)(P169)

  * 父类的非抽象方法可以被覆盖为抽象方法

  4、Super关键字:super和this关键字都可以用来覆盖Java语言的默认作用域,使被屏蔽的方法或变量变为可见  * 父类的成员变量和方法为private使用super访问编译出错

  * 在类的构造方法种,通过super语句调用这个类的父类的构造方法

  * 在子类种访问父类的被屏蔽的方法和属性

  * 只能在构造方法或实例方法内使用super关键字,而在静态方法和静态代码块内不能使用super

  5、多态:

  * 对于一个引用类型的变量,Java编译器按照它的声明的类型来处理

  * 对于一个引用类型的变量,运行时Java虚拟机按照它的实际引用的对象来处理

  * 运行时环境中,通过引用类型变量来访问所引用对象的方法和属性时,Java虚拟机采用以下绑定规则

  1)实例方法与引用变量实际引用的对象的方法绑定,属于动态绑定

  2)静态方法与引用变量所声明的类型的方法绑定,属于静态绑定

  3)成员变量(包括静态和实例变量)与引用变量所声明的类型的成员变量绑定,属于静态绑定

分享到:
评论

相关推荐

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

    Java 方法继承、方法重载、方法覆盖、小结 Java 编程语言中,方法继承、方法重载、方法覆盖是三个重要的概念,它们在软件开发中发挥着重要作用。 方法继承 方法继承是 Java 编程语言的一种机制,允许一个类继承另...

    Java 中方法的重载与覆盖

    ### Java中的方法重载(Overloading)与方法覆盖(Overriding) #### 方法的重载(Overloading) ...总结来说,在Java中正确理解和应用方法重载和方法覆盖是非常重要的,这有助于编写更加灵活和高效的代码。

    java学习笔记 继承 重载 覆盖

    Java编程语言的学习涉及众多核心概念,本篇笔记主要探讨了几个关键知识点:继承、重载和覆盖。首先,我们从Java环境配置开始,确保能够正确地运行Java程序。在Windows系统中,需要设置环境变量PATH,指向JDK安装目录...

    继承与方法的重载学习代码

    在Java编程语言中,继承和方法的重载是两个核心概念,它们对于构建可扩展、模块化的代码至关重要。本文将详细解析这两个概念及其在实际编程中的应用。 首先,让我们了解继承(Inheritance)。继承是面向对象编程的...

    Java语言中的 覆盖重载和多态

    Java语言中的覆盖(Override)和重载(Overload)以及多态(Polymorphism)是面向对象编程的重要概念,它们是实现代码复用和灵活性的关键。 **多态性(Polymorphism)** 多态性是Java中一种允许一个接口有多种实现的方式。...

    JAVA方法覆盖与重载的区别.doc

    Java中的方法重载(Overloading)和方法覆盖(Overriding)是面向对象编程中的两个重要概念,它们在处理多态性方面发挥着关键作用。理解这两者的区别对于编写高效的Java代码至关重要。 首先,我们来看方法重载。...

    类继承方法重载

    在编程领域,类继承和方法重载是面向对象编程中的两个关键概念,它们极大地提高了代码的复用性和灵活性。在这个名为"practise"的压缩包文件中,我们可能找到一个关于这两个概念的实际应用示例。 首先,让我们深入...

    java中函数重载与覆盖例子

    总结来说,函数重载和覆盖是Java中实现多态性的两种主要方式。重载允许我们在同一类中创建多个同名但参数不同的方法,而覆盖则允许子类定制父类的行为,实现特定于子类的功能。理解并熟练运用这两个概念对于编写灵活...

    [Java]重载,重写以及继承,多态的区

    总结来说,重载允许我们根据参数的不同来选择合适的方法,重写使得子类可以提供对父类方法的具体实现,继承则实现了代码的复用,而多态则是实现接口与实现类之间的灵活转换,增强了程序的可扩展性和可维护性。

    java中的方法重载和覆盖的区别宣贯.pdf

    "Java中的方法重载和覆盖的区别" Java中的方法重载和覆盖是两个常见的概念,但很多开发者容易混淆这两个概念。在Java中,方法重载(Overloading)和方法覆盖(Overriding)都是实现多态性的手段,但它们之间有着...

    java中的继承(子类调用父类构造方法还不懂).doc

    Java 中的继承(子类调用父类构造方法还不懂) Java 中的继承是指一个类可以继承另一个类的属性和方法,这样可以实现代码的复用和提高开发效率。在 Java 中,继承使用关键字 `extends` 来实现。 Java 中继承的注意...

    java方法的覆盖java方法的覆盖.doc

    在Java中,当子类继承父类,并且子类定义了一个与父类同名、同参数列表的方法时,就发生了方法覆盖。这使得子类对象在调用这个方法时,会执行子类自定义的行为,而不是父类的方法。 方法覆盖的规则和注意事项如下:...

    继承与多态,重载和重写

    重写只发生在继承关系中,子类方法必须声明为`@Override`(在Java中),以确保该方法确实覆盖了父类的相应方法。在运行时,如果对象是子类类型,即使引用的是父类类型,也会调用子类中重写的方法,这就是多态性的一...

    java程序设计-第5章-继承、多态、重载与接口

    Java程序设计中的继承、多态、重载与接口是面向对象编程的重要概念,它们构成了Java类体系的基础。让我们深入探讨一下这些主题。 1. **继承(Inheritance)** 继承是Java中一个核心特性,它允许一个类(子类)继承...

    JAVA的重载和覆盖(论文)

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

    java中重载与重写

    在Java编程语言中,方法的重载(Overloading)与重写(Overriding)是两个非常重要的概念。它们虽然只有一字之差,但其实质却大相径庭。理解这两者的不同对于深入掌握Java语言至关重要。 ### 一、重载(Overloading...

    Java重写重载线程

    ### Java中的方法重载与重写以及线程概念详解 #### 一、方法重载(Overloading) 在Java中,**方法重载**是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这里提到的“参数列表不同”不仅包括参数的...

Global site tag (gtag.js) - Google Analytics