Java 第17章 继承
继承的概念
继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,
是提高软件系统的可扩展性与可维护性的主要途径。
所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现
父类代码的重用,子类 “能吸收已有类的数据属性和行为,并能扩展新的能力。”
使用继承;
编写父类: class pet{ //公共的属性和方法 }
编写子类,继承父类:
class Dog extends pet(只能继承一个父类) {//子类特有的属性和方法}
class Penguin extends(继承关键字) Pet {}
子类访问父类成员
访问父类构造方法 (使用super 关键字 super 代表父类对象)
super();
super(name); ---> 在子类构造方法中调用且必须是第一句
访问父类属性
super.name;
访问父类方法
super.print();
子类可以继承父类的所有资源吗?
不能被继承的父类成员:
1. private 成员
2. 子类与父类不在同包,使用默认访问权限的成员、
3. 构造方法
注:不能被继承的情况
访问修饰符 protected
可以修饰属性和方法
本类,同包,子类可以访问
访问修饰符总结:
多重继承关系的初始化顺序是怎样的?
父类属性 -->父类构造方法 --> 子类属性 --> 子类构造方法
注:断点追踪初始化过程
何时使用继承?
继承与真实世界类似
只要说 "猫是哺乳动物", 猫的很多属性,行为就不言自明了
藏獒是一种狗
符合 is -a 关系的设计使用继承
继承是代码重用的一种方式
将子类共有的属性和行为放到父类中
方法重写:
小结1
构造方法也会被重写吗? ---> 不能被继承,因此不能重写!
方法重写的规则
方法名相同
参数列表相同
返回值类型相同或者是其子类;
访问权限不能严于父类
方法重载与方法重写
小结2
super 关键字来访问父类的成员
super 只能出现在子类的方法和构造方法中
super 调用构造方法时,只能是第一句
super 不能访问父类的 private 成员
训练要点:
继承,子类重写父类方法,理解继承中的初始化过程
Java 第17章 继承的更多相关文章
- Java OOP——第二章 继承
1. 继承: ●继承是面向对象的三大特征之一,是JAVA实现代码重用的重要手段之一: ●继承是代码重用的一种方式,将子类共有的属性和行为放到父类中: ●JAVA只支持单继承,即每一个类只有一个父类,继 ...
- 《深入Java虚拟机学习笔记》- 第17章 异常
<深入Java虚拟机学习笔记>- 第17章 异常
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- Java核心技术卷一基础知识-第5章-继承-读书笔记
第5章 继承 本章内容: * 类.超类和子类 * Object:所有类的超类 * 泛型数组列表 * 对象包装器和自动装箱 * 参数数量可变的方法 * 枚举类 * 反射 * 继承设计的技巧 利用继承,人 ...
- “全栈2019”Java多线程第二章:创建多线程之继承Thread类
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- Java 学习笔记 ------第六章 继承与多态
本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...
- 设计模式之第17章-备忘录模式(Java实现)
设计模式之第17章-备忘录模式(Java实现) 好男人就是我,我就是曾小贤.最近陈赫和张子萱事件闹得那是一个沸沸扬扬.想想曾经每年都有爱情公寓陪伴的我现如今过年没有了爱情公寓总是感觉缺少点什么.不知道 ...
- 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承
<Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...
- JavaScript高级程序设计(第三版)学习笔记11、12、17章
章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element ...
随机推荐
- EntityFramework Reverse POCO Generator工具
https://visualstudiogallery.msdn.microsoft.com/ee4fcff9-0c4c-4179-afd9-7a2fb90f5838
- javascript之Dorm
一.document.getElementById() 根据Id获取元素节点: <div id="div1"> <p id="p1"&g ...
- excel 导入 sqlserver 字符串被截取为255长度解决方案
excel表格导入sqlserver数据表中 内容被截取为255长度的字符串. 注意:excel是通过前8行(表头的首行除外)的数据类型来判断导入数据的数据格式的,例如前8行出现整数型,那么默认就用整 ...
- MVC Razor基础
@ 可以编写一条C#语句@{} 可以编写一组C#语句@: 将文字内容直接输出到页面上去@() 在一句中将一段C#代码包括起来,证明这一句完整的C#代码 Razor解决路径问题: Html.Action ...
- 详解收发不畅原因及U-Mail邮件中继解决之道
邮件在商务往来中扮演着信息交流的重要角色,假如传输受阻,必将造成沟通不畅:可能三五封邮件的投递你意识不到其重要性,但假如长期需和客户保持沟 通,则需要保证其一贯的稳定性,这就很考验相关软件平台的性能是 ...
- 今天研究一下SVN的分支和合并
关键字: trunk, branch, tag, merge 以前一直以为很难,没敢接触.今天晚上看了一下,也不过如此 用起来还是很简单的
- 【Python全栈笔记】01 [模块二] 14-15 Oct 运算符和字符串 4-1
编码的问题 中文版 Windows 终端是默认GBK编码格式,python2默认为ASCII编码,虽然我们注释了需要用UTF-8,但是通过命令行运行的文件如果print中文内容还是会出现乱码. Uni ...
- AWT布局管理器
布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ① FlowLayout 流式布局管理器 ② BorderLa ...
- B. Checkout Assistant 01背包变形
http://codeforces.com/problemset/problem/19/B 对于每个物品,能偷多ti个,那么先让ti + 1, 表示选了这个东西后,其实就是选了ti + 1个了.那么只 ...
- JS---如何避免用户在请求时“猛击”
var isAjax=false;//是否正在执行ajax请求,此处表示不在拿数据 var getInfoByTrainCode=function () { if(isAjax) return;//如 ...