Java学习笔记(28)--覆写(Override)详解
来源:互联网 发布:软件开发技术手册 编辑:程序博客网 时间:2024/06/07 22:29
一、覆写概念
既然现在出现了继承的关系,那么就存在了子类和父类的联系,而在子类之中有可能定义和父类完全相同的方法或属性的名称,这个时候就称为覆写了。
二、方法的覆写
当子类定义了和父类在方法名称、返回值类型、参数类型及个数完全相同的方法的时候,称为方法的覆写。
没有覆写的操作:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
运行结果:
- 1
这时实例化的是子类对象,但是在子类中没有print()方法,那么就使用从父类中继承而来的pritn()方法。
实现覆写:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
运行结果:
- 1
当一个类中的方法被覆写后,如果实例化的是这个子类对象,则调用的方法就是被覆写过的方法。
在进行方法覆写的时候有一点需要注意:被子类所覆写的方法不能拥有比父类更严格的访问控制权限。
如果此时父类之中的方法是default权限,那么子类覆写的时候只能是default或public权限,而如果父类的方法是public,那么子类之中方法的访问权限只能是public。
当一个子类覆写了一个父类方法的时候,子类要想调用父类的被覆写过的方法,要在方法前要加上“super”:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
运行结果:
- 1
- 2
一定要记住操作范围:
(1)this.方法():先从本类查找是否存在指定的方法,如果没有找到,则调用父类操作;
(2)super.方法():直接由子类调用父类之中的指定方法,不再找子类。
问题来了:请问以下的操作是覆写吗?
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
运行结果:
- 1
首先从覆写的概念上来讲:现在父类的权限是private,而子类是public,的确是扩大了权限,而且方法的参数名称及个数、返回值类型都一样。但这种情况在开发之中是不会出现的,使用了private定义的操作都无法覆写。
三、this和super的区别
四、方法重载与覆写的区别
阅读全文
0 0
- Java学习笔记(28)--覆写(Override)详解
- Java 覆写(Override)详解
- java-override学习笔记
- java个人学习笔记10(extends+super+override+final)
- JAVA学习笔记-函数的复写(override)
- java学习笔记(八)—— extends and override
- Java学习8:封装特性之方法的重写(Override)详解及实例说明
- 关于 Java 中的 @Override 覆写
- JAVA学习笔记--方法的重载(overload)和重写 (override)
- Overload(重载) Override(覆写)Overwrite(重写)
- 覆写(Override)和重载(Overload)的比较
- 覆写(Override)与重载(Overload)的区别
- Java @Override 详解
- Java学习笔记(83)----------继承详解
- effective-java 学习笔记 覆写hashCode
- Java之Override(转载)
- 学习笔记——override
- Java学习笔记(54)----------详解Java IO(全面)
- TensorFlow 数据集和估算器介绍
- Redis在windows下安装过程
- CodeForces
- Android使用TextView图文混排
- 使用js将多个相关联的excel数据文件整合到一起并筛选出需要的数据的整理
- Java学习笔记(28)--覆写(Override)详解
- 观察者模式
- Docker安装Prometheus,Grafana展示数据
- leetcode 260. Single Number III 位操作
- Spring-装配Bean 基于注解
- android系统ROM分区
- 第4章 MySQL数据库结构优化
- Oracle 11g 服务端、客户端的安装配置
- AI通过了艺术创作图灵测试,你根本分不出来作者是不是人