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 ...
随机推荐
- 集合的概念 Stack和Queue Dictionary ArrayList和List<T>方法及用法
Stack和stack<T>方法一样// 管理方式: 后进先出 LIFO 栈// Stack<string> s=new Stack<string>();//(放一 ...
- redis原理分析
基本全是参考http://blog.csdn.net/a600423444/article/details/8944601 redis的使用大家都很熟悉,可能除了watch 锁,pipelin ...
- linux下服务端实现公网数据转发
之前在腾讯上使用了一个免费的公网服务器,只有7天,linux系统. 其实有这样的想法,是因为有个研二的师弟问我怎么样才能让连个局域网的电脑通信. 我跟他说了两种方法,一种是找个公网服务器来转发数据,另 ...
- 解决Linux系统下程序找不到动态库的方法
思路:一般来说,通过make命令已经将程序依赖的动态库编译出来了,通过make install命令已经将动态库安装到系统的某个路径下.找没找到动态库就看这个路径是否包含在系统默认搜索动态库的路径中,如 ...
- Activity之间传递参数(二)
------siwuxie095 传递数据包 1.传递数据包要用到Bundle,MainActivity.java中: package com.siwuxie095.sendargs; import ...
- [ftp]Centos 创建 sftp 步骤
来自:http://blog.csdn.net/xinxin19881112/article/details/46831311 1.创建sftp组 groupadd sftp 2.创建一个sftp用户 ...
- oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
http://blog.csdn.net/agileclipse/article/details/12968011 .导入过程中,所有表导入都出现提示, 正在跳过表...某某表名 最后提示成功终止导入 ...
- 关于android帮助文档打开慢
打开慢的原因是:Doc目录下的html文件里含有访问google的js文件<link rel="stylesheet"href="http://fonts.goog ...
- 02 Apache Solr: 概览 Solr在信息系统架构中的位置
概述: Apache Solr是一个用JAVA语言构建在Apache Lucene项目上的开源的企业级搜索平台.主要特性包含:全文搜索.命中高亮.片段式搜索.实时索引.动态集群.数据库集成. ...
- linux操作系统-memcache安装
安装配置 1. 安装libevent # tar zxf libevent-1.4.6-stable.tar.gz # cd libevent-1.4.6-stable # ./configure # ...