`
mmdev
  • 浏览: 12920120 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

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

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

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

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

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

  * 方法名相同

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

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

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

  * main方法也可以被重载

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

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

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

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

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

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

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

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

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

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

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

  4、Super关键字:super和this关键字都可以用来覆盖Java语言的默认作用域,使被屏蔽的方法或变量变为可见。

  * 父类的成员变量和方法为private使用super访问编译出错

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

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

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

  5、多态:

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

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

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

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

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

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

  Java代码

  


  输出结果:

  


分享到:
评论

相关推荐

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

    Java方法继承、方法重载、方法覆盖总结。比较具体细致地描述他们之间的连系与区别,需要的同学可以看看。

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

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

    Java 中方法的重载与覆盖

    方法的重载与覆盖 发生重载的条件: 1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int, float), ...

    java学习笔记 继承 重载 覆盖

    java相关知识的学习笔记,个人整理,里面涵盖:继承,接口,重载,覆盖,final等等的知识点

    重载与覆写/重写的区别

    (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。  调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。 (3)...

    Java重写与重载(区别与用途)

     注意:后文的重写方法与覆盖方法同义  覆盖父类或者接口方法的规则  重写方法的方法名必须与父类或接口方法名相同,否则是定义新方法  重写方法的方法参数必须与父类或接口方法参数相同,否则是重载方法 ...

    解析Java继承中方法的覆盖和重载

    主要介绍了Java继承中方法的覆盖和重载的详细概念及用法,非常的实用,这里推荐给大家,有需要的小伙伴可以参考下。

    java简答题

    4-2 方法的重载与方法的覆盖分别代表什么含义? 方法的重载:在同一个类中定义多个同名的不同形态方法; 方法的覆盖:在子类中对父类定义方法的重新定义,在子类中将隐藏来自父类的同形态方法。 4-3 Java类的继承有...

    Java开发技术大全(500个源代码).

    stupid.java 试图覆盖最终方法的类,它有错误 Sub.java 一个简单的子类 Super.java 一个基类 testOverload.java 测试方法的重载示例1 testOverload_1.java 测试方法的重载示例2 testOverload_2.java 测试方法...

    Java源码小合集:继承和多态相关的例子.rar

    继承和多态的相关Java源码下载,比较散,像覆盖和重载、对象类Object和它的toString()方法、多态性、动态绑定和一般程序设计、数组线性表ArrayList类、final类、方法和变量、数据域和静态方法的隐藏、调用父类的方法...

    java面试题

    3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类; 4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。 overload对我们来说可能比较熟悉,可以...

    Java面向对象编程+可授课使用+没有答案

    【练习题】 1、类的成员变量练习题 2、类的成员变量练习题 3、类的成员变量与方法、构造方法练习题 4、构造方法练习题 5、构造方法与重载练习题 6、构造方法的重载练习题 7、构造方法与重载、包...14、覆盖、继承练习题

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

    7.5 方法重载(overload):给汽车加速添个限制 168 7.5.1 什么是方法的签名 168 7.5.2 什么是重载?为什么要重载? 168 7.5.3 给汽车加个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方...

    java初学者必看

    7.4.4 重载构造方法 7.4.5 调用构造方法 7.4.6 初始化块 7.5 包 7.5.1 包的概念 7.5.2 类的导入 7.5.3 包名与目录 7.5.4 静态导入 7.5.5 Java包介绍 7.6 类设计技巧 7.7 实例:完善MasterCard类 7.7.1 ...

    java面试题总结.docx

    重写是指子类继承了父类的方法并且覆盖了子类的方法。 方法重载的规则: a.方法名一致,参数列表中的顺序,类型,个数不同 b.重载的方法与返回值无关 c.重载可以抛出不同的异常,可以有不同的修饰符 方法重写的命名...

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

    7.5 方法重载(overload):给汽车加速添个限制 168 7.5.1 什么是方法的签名 168 7.5.2 什么是重载?为什么要重载? 168 7.5.3 给汽车加个重载的方法 169 7.5.4 测试一下 169 7.5.5 重载容易引发误解的两个地方...

    JAVA面试题最全集

    7.Java多态的实现(继承、重载、覆盖) 8.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能...

    Java入门教程(微学苑)-part1

    4 Java继承和多态 61 4.1 继承的概念与实现 61 4.2 Java super关键字 63 4.3 调用隐藏变量和被覆盖的方法 63 4.4 调用父类的构造方法 64 4.5 继承中的方法的覆盖和重载 65 4.6 多态和动态绑定 66 4.7 动态绑定 69 ...

    常见JAVA基础_4

    方法的继承,方法的覆盖,方法的重载各指的是什么?试举例说明。 3。子类中的父类成员何时初始化? 4。有CommonEmployee类和Manager类从Employee类继承,它们各包含一个方法getSalary()用于返回各自的薪水,请写一...

    java基础教学ppt

    java基础教学ppt,共15章.第一章 Java语言基础知识 ...* 重载、覆盖和重载的区别 * Object类 * 终结类、终结方法 * 抽象类、抽象方法 * 接口 其它不在这里一一说明.如果有感趣的可以自己下载看.

Global site tag (gtag.js) - Google Analytics