乐字节Java继承|方法重写、super和final关键字
大家好,乐字节的小乐又来了,上一篇是:乐字节Java|JavaBean、继承与权限修饰,也是属于Java继承的,今天继续Java继承。

一、 方法的重写
父类不满足子类的要求,按需改写。注意 方法签名必须相同
在子类中可以根据需要对从基类中继承来的方法进行重写。
重写方法必须和被重写方法具有相同的方法名称、参数列表和返回类型。
重写方法不能使用比被重写方法更严格的访问权限
Override.java Overload.java
“==”:方法名、形参列表相同。
“≤”:返回值类型(基本类型必须相同) 以及抛出的异常类型,子类小于等于父类。
“≥”:访问权限,子类大于等于父类
注意属性不会重写
注意以下方法不会重写
1、静态方法不会重写 ,父类为静态,子类只能为静态,否则编译错误
2、final 修饰方法 否则编译错误
3、私有方法不会重写
二、 super关键字
1、在java类中使用super来引用父类的成员。
2、继承中的构造方法
1)、子类的构造的过程中必须调用其基类的构造方法。
2)、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。
使用this(argument_list)调用本类的另外的构造方法
3)、如果调用super,必须写子类构造方法的第一行
4)、如果子类的构造方法中没有显示地调用基类的构造方法,则系统默认调用基类无参的构造方法。
5)、如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。 TestSuperSub.java

例2


让我们来做些练习:
根据前面的程序,构造“Teacher”类,继承“Person”类。要求:
1、 增加“职称(String)”属性
2、 具有和”Student”类类似的重载构造方法
3、 重写“Person”类的info()方法,增加”职称”信息。
三、 final关键字
final 表示最终的。
修饰类,表示该类不能被继承
修饰方法,表示该方法不能被重写
修饰属性,表示常量,值一旦确定不可改变。
乐字节原创,请继续关注乐字节
Java继承先就介绍到这里,下次我们再看Java多态。
乐字节Java继承|方法重写、super和final关键字的更多相关文章
- java的方法重写 ,多态和关键字 instanceof和final
package cn.pen; /*final 是一个java的关键字,用于修饰局部变量.属性.方法.类,表示最终的意思. final修饰类表示最终类,无法被继承.public final class ...
- 20面向对象三特征 之继承 方法重写 super
继承是:多个类有重复内容,把重复内容放到一个新类中,就可以通过extends关键词去让原来的类和新类产生继承关系,子类只能拿到父类一部分信息.通过extends关键词去指明类与类之间的关系,一个父类可 ...
- 乐字节Java|封装JavaBean、继承与权限修饰
本文继续讲Java封装.上一篇:乐字节Java|GC垃圾回收机制.package和import语句 这次讲述JavaBean.继承与权限修饰 一. 封装javaBean 封装(Encapsulatio ...
- 乐字节Java反射之三:方法、数组、类加载器和类的生命周期
本文承接上一篇:乐字节Java发射之二:实例化对象.接口与父类.修饰符和属性 继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. publ ...
- 乐字节Java编程语言发展,面向对象和类
大家好,上次我们讲过了乐字节Java编程之方法.调用.重载.递归,接下来我们将会进入到Java封装的内容.Java编程语言发展,面向对象和类. 一.编程语言的发展 机器语言——直接由计算机的指令组成, ...
- 乐字节Java反射之一:反射概念与获取反射源头class
一.Java反射机制概念 “程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”,如Python, Ruby是动态语言:显然C++,Java,C#不是动态语言,但是JAVA有着一个非常突出 ...
- Java学习笔记二十二:Java的方法重写
Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...
- 乐字节Java|GC垃圾回收机制、package和import
本文接上一篇:乐字节Java|this关键字.static关键字.block块.本文是接着讲述JavaGC垃圾回收机制.package 和 import语句. 一.GC垃圾回收机制 GC全名:Garb ...
- 乐字节Java反射之四:反射相关操作
大家好,乐字节小乐继续为Java初学者讲述Java基础知识.上次说到乐字节Java反射之三:方法.数组.类加载器,这次是Java反射之四:反射相关操作 1.操作属性 //1.获取Class对象 Cla ...
随机推荐
- SSM 整合 ehcache spring 配置文件报错
添加 <!-- end MyBatis使用ehcache缓存 --> <cache:annotation-driven cache-manager="cacheManage ...
- 微信小程序 图片设置为圆形
要图片圆形显示,需要设置border-radius:50%,还要设置overflow:hidden,具体如下: Tip:user-avatar是图片控件的class .user-avatar { wi ...
- 在Mac如何启动MySQL
安装好MySQL服务后(安装步骤可以参考系列经验1).打开“系统偏好设置”,单击下端的“MySQL”图标. 2 在“MySQL”对话框中,单击“启动MySQL服务”按钮. 3 在弹出的窗口中,输入管理 ...
- 【CSP模拟赛】奇怪的队列(树状数组 &二分&贪心)
题目描述 nodgd的粉丝太多了,每天都会有很多人排队要签名. 今天有n个人排队,每个人的身高都是一个整数,且互不相同.很不巧,nodgd今天去忙别的事情去了,就只好让这些粉丝们明天再来.同时nod ...
- kubernetes架构和组件
一.Kubernetes整体架构 Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,以及包括客户端命令行工具kubectl和其它附加项. Master ...
- lisp语法分析与执行分离
lisp语法分析与执行分离 <sicp>4.1.7节读书笔记 这节中将书中之前实现的解释器做了改进,将语法分析于执行分离.这样做能提高很多效率,比如我们需定义一个过程,然后执行该过程多次. ...
- python中的__init__方法
init()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是init()参数值可以有多种形式. __init__方法使用 ...
- WIN7在计算机管理中修改用户名之后 文件夹名字不变怎么办?
WIN7在计算机管理中修改用户名之后 文件夹名字不变? 可以新建一个管理员账户,起名字,然后删除旧的账户.保留原用户文件夹中的内容,以备不时之需.不要在控制面板的用户账户中修改用户名,修改之后 ...
- Python 3.8.0 final¶ Release date: 2019-10-14
https://docs.python.org/3.8/whatsnew/changelog.html#python-3-8-0 Core and Builtins bpo-38469: Fixed ...
- git之删除untrack files
退回版本 git reset --hard commit_id //不保留未提交的修改 git reset --soft commit_id //默认方式,保留未提交的修改 撤除本地没有提交的修改 g ...