乐字节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 ...
随机推荐
- LeetCode算法题-链表类
1.将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. (可以参照第2的merge2List实现) 示例: 输入:1->2->4, 1->3 ...
- 数据结构实验之查找七:线性之哈希表 (SDUT 3379)
#include <stdio.h> #include <string.h> #include <stdlib.h> int a[3500]; int Hash[3 ...
- django部署后样式加载不出来解决方案
django部署后样式加载不出来 1.html文件去掉<!DOCTYPE html> 2. location /static { alias /home/static/; } 3.STAT ...
- [设计原则与模式] 面向对象程序设计之五大原则(SOLID)
cp from: https://blog.csdn.net/zhangbuzhangbu/article/details/51719952 S.O.L.I.D是面向对象设计和编程(OOD& ...
- 女士品茶 | The Lady Tasting Tea | 统计学史
The Lady Tasting Tea - How Statistics Revolutionized Science in the Twentieth Century 本书只讨论了20世纪这100 ...
- 关于PHP中token的生成的解析
背景 很多时候我们需要用 token 来作为一些标识, 比如: 一个用户登录后的认证标识. 实现方式 md5 的方式: $v = 1; // 自己定义的 需要hash 的value 值 $key = ...
- 深入浅出ES6教程『async函数』
大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了Symbol & generator的用法,下面我们一起来继续学习async函数: async [ə'zɪŋk]:这个 ...
- Windows使用telnet验证服务端口是否通
使用telnet指令时,Windows需要开启Telnet服务. telnet不通的情况: a.端口对应的服务没启动,或者启动了服务端口不是对应的测试端口. b.端口受限不能访问. 以下内容转自:ht ...
- mac php7.2 安装mcrypt扩展
安装: brew install libmcrypt 下载mcrypt扩展源码 http://pecl.php.net/package/mcrypt 解压后 进入目录: phpize ./config ...
- Leetcode: Shortest Way to Form String
From any string, we can form a subsequence of that string by deleting some number of characters (pos ...