继承的概念

继承机制是面向对象程序设计不可缺少的关键概念,是实现软件可重用的根基,

是提高软件系统的可扩展性与可维护性的主要途径。

所谓继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现

父类代码的重用,子类 “能吸收已有类的数据属性和行为,并能扩展新的能力。”

使用继承;

编写父类: 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章 继承的更多相关文章

  1. Java OOP——第二章 继承

    1. 继承: ●继承是面向对象的三大特征之一,是JAVA实现代码重用的重要手段之一: ●继承是代码重用的一种方式,将子类共有的属性和行为放到父类中: ●JAVA只支持单继承,即每一个类只有一个父类,继 ...

  2. 《深入Java虚拟机学习笔记》- 第17章 异常

    <深入Java虚拟机学习笔记>- 第17章 异常

  3. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  4. Java核心技术卷一基础知识-第5章-继承-读书笔记

    第5章 继承 本章内容: * 类.超类和子类 * Object:所有类的超类 * 泛型数组列表 * 对象包装器和自动装箱 * 参数数量可变的方法 * 枚举类 * 反射 * 继承设计的技巧 利用继承,人 ...

  5. “全栈2019”Java多线程第二章:创建多线程之继承Thread类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  6. Java 学习笔记 ------第六章 继承与多态

    本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分 ...

  7. 设计模式之第17章-备忘录模式(Java实现)

    设计模式之第17章-备忘录模式(Java实现) 好男人就是我,我就是曾小贤.最近陈赫和张子萱事件闹得那是一个沸沸扬扬.想想曾经每年都有爱情公寓陪伴的我现如今过年没有了爱情公寓总是感觉缺少点什么.不知道 ...

  8. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  9. JavaScript高级程序设计(第三版)学习笔记11、12、17章

    章, DOM扩展 选择符 API Selector API Level1核心方法querySelector .querySelectorAll,兼容的浏览器可以使用 Document,Element  ...

随机推荐

  1. jquery template模版引擎

    jTemplates http://jtemplates.tpython.com/ jquery-template  https://github.com/codepb/jquery-template ...

  2. Cocos学习-----Cocos2Dx安装

    昨天晚上从官网下载了cocos2dx,打开发现win下工程已经是2010了最少,很是郁闷.尝试着在08下新建工程然后添加文件,发现还是很麻烦,于是下载了vs2010,打开编译报错:error C206 ...

  3. cdnbest节点安装后连不上主控常见问题

    1. 查看节点程序是否启动 ps -aux |grep kangle 2. 如果节点程序都有启动,可查看日志,节点连接的是不是你帐号的uid帐号或者是否有其他报错信息 tail -f /var/log ...

  4. Observer(观察者)-对象行为型模式

    1.意图 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新. 2.别名 依赖(Depenents),发布-订阅(Publish-subscribe ...

  5. [Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?

    首先,问题是如何出现的? 晚上复查代码,发现一个activity没有调用自己的ondestroy方法 我表示非常的费解,于是我检查了下代码. 发现再finish代码之后接了如下代码 finish(); ...

  6. [刘阳Java]_MyBatis_映射文件的常用标签总结_第5讲

    MyBatis中常用标签的总结,简单给出自己的总结 MyBatis映射文件中的标签使用介绍1.<select>:用于编写查询语句用的标签 id:表示当前<select>标签的唯 ...

  7. Oracle RMAN 恢复控制文件到指定的路径

    Oracle 数据库通过RMAN恢复控制文件到指定的路径 --------------------------------------------------------- 先查询备份集信息,再指定备 ...

  8. 脚本录制(JMeter)

    使用JMeter录制脚本: 1.打开JMeter工具,创建一个线程组,接着创建一个http代理服务器,代理服务器设置如下:

  9. 分享Db4o的便捷封装类源码

    导言 大家好,话说真是好久好久没写文章了,哈哈. 最近在写网站,个人对传统数据库天然抵触,感觉非常繁冗,即便是Entity Framework也过于庞杂了,Db4o这种轻量级且读写.配置都极其方便的新 ...

  10. MVC随笔之基础数据维护(MVC4+Boostrap)

    一般的管理系统都会设定一些basedata,方便用户交互,以前一直用webform开发,各种粘贴复制已经感觉没啥新意了(我是老油条...),现在公司开始接手第一个MVC项目,所以今天写下MVC中的ba ...