继承的概念

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

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

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

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

使用继承;

编写父类: 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. NodeJS 常用模块

    NodeJS 模块: n:NodeJS 版本管理/切换 参考: https://github.com/tj/n ExpressJS:Web 框架 参考: http://expressjs.com/ m ...

  2. ado.net excel 模版

    ado.net excel 模版 private static void Excute()        {            while (true)            {          ...

  3. Python数据库备份脚本

    Python数据库备份脚本 #!/usr/bin/env python # author: liudong # -*- coding: utf-8 -*- # filename: db_bak.py ...

  4. C语言中的回调函数(Callback Function)

    1 定义和使用场合 回调函数是指 使用者自己定义一个函数,实现这个函数的程序内容,然后把这个函数(入口地址)作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数.函数是你实现 ...

  5. Tesseract API在VS 2013中的配置以及调用

    [Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19      阅读:127      评论:0      收藏:0      ...

  6. button点击ajax异步无效的处理办法,以及实现“关注”“已关注”切换

    button并不是在只等于submit时草有提交功能,如果你用它触发ajax事件,你的ajax会失去他最大的优势:刷新局部数据! 但是你如果设置了他的return false;属性小伙伴你的ajax才 ...

  7. css:去掉手机浏览器上点击时的边框和阴影

    outline:none;(去掉蓝框) -webkit-tap-highlight-color:rgba(0,0,0,0) ;(去掉阴影)适用于ios,Android

  8. 我的 C++ style

    int g_tennis; // not use as possible int make_world() { ; return size; } ; enum Color { RED, GREEN } ...

  9. jquery获取所选元素的outerHTML

    大家都知道原生js可以获取匹配元素的内部html和外部html,内部是innerHTML,外部是outerHTML,原生js的dom对象是存在这两个属性的. 如果用jQuery如何获取匹配元素(包括自 ...

  10. linux操作系统-脚本入门

    背景:在使用linux时,经常会写一些linux命令片段,比较麻烦,有经验的程序员会把 这些碎片式的命令写成shell脚本 1.重启tomcat脚本 #!/bin/sh #kill tomcat pi ...