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 成员

训练要点:

继承,子类重写父类方法,理解继承中的初始化过程

时间: 2024-08-30 07:48:54

Java 第17章 继承的相关文章

Java 第十二章 继承 笔记

Java 第十二章  继承 笔记 一.使用继承:     1)方便修改代码     2)减少代码量 二.super 继承object 类:super 访问父类的无参构造:super 指的是object 的无参构造.     例:子类调用父类:super.属性 / super.方法    注意:子类不能继承父类私有属性:得用set.get方法来调用:    super只能写在代码块的第一句:super只能调用非私有的方法:    super只能出现在子类的方法和构造方法中. 三.不能被继承的父类成

[Java学习笔记] Java核心技术 卷1 第五章 继承

第5章 继承 利用继承,可以基于已存在的类构造一个新类.继承已存在的类就是复用(继承)这些类的方法和域.还可以在此基础上添加新的方法和域. 反射. 5.1 超类子类 使用extends构造一个派生类 class Manager extends Employee { 添加方法和域 覆盖:重写一些基类中不适合派生类的方法 } 所有的继承都是公有继承.即所有的公有成员和保护成员都保持原来的状态,基类的私有成员仍然是私有的.不能被派生类的成员访问. (C++中私有继承或保护继承会将 公有成员和保护成员都

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

设计模式之第17章-备忘录模式(Java实现) 好男人就是我,我就是曾小贤.最近陈赫和张子萱事件闹得那是一个沸沸扬扬.想想曾经每年都有爱情公寓陪伴的我现如今过年没有了爱情公寓总是感觉缺少点什么.不知道你们可曾记得爱情公寓里的一个经典的桥段~每次关谷和唐悠悠吵架的时候,总是可以进行“存档”,先干其他的事情,而后有时间的时候再继续“读档”,这是多么好的一个技能啊,想想吧,每次吵架,存档后可以做其他事情进行冷静一下,然后读档的时候已经冷静好了,是不是会清醒很多呢,是不是就不会有那么多的误会无法解除了呢

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

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

第 17 章 责任链模式【Chain of Responsibility Pattern】

以下内容出自:<<24种设计模式介绍与6大设计原则>> 中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父.既嫁从夫.夫死从子”,也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的,举个例子来说,一个女的要出去逛街,同样这样的一个请求,在她没有出嫁前她必须征得父亲的同意,出嫁之后必须获得丈夫的许可,那丈夫死了怎么办?一般都是男的比女的死的早,还要问问儿子是否允许自己出去逛街,估计你下边马上要问要是没有儿子怎么办?请示小叔子.侄子

Thinking in Java 第七章 3-1

Thinking in Java第七章研读3-1总结 问题引入:如何复用代码 1.新的类是由现有类的对象所组成,方法称为组合.(该方法只是复用了现有程序代码的功能,而非他的形式) 2.按照现有类的类型创建新类.方法称为继承.(该方法无需改变现有类的形式,采用现有类的形式并在其中添加新代码) 3.代理proxy 组合Demo(存在问题:对象引用的初始化) 1 package com.thxy.section.seven; 2 3 public class Compo { 4 public stat

java核心技术 - 17个重要的知识点

1.Java中没有多继承,而是用接口来代替多继承 2.运行一个已经编译的程序时,Java解释器总是从指定类的main方法中的代码开始执行,因此,执行代码中必须有一个main函数. 3.Java是典型的强类型语言,即必须声明变量的类型,Java中有8种类型,6种数值类型(4个整数型和2个浮点型).一个字符类型和一个boolean类型. 想学习java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载. 4.强制类型转换: int nx = (int) x; //

C++ Primer Plus 第17章 输入,输出和文件

第17章 输入.输出和文件 1.当到达输入语句时,他将刷新输出缓冲区中当前所有的输出 2.streambuf类 提供了对缓冲区的各种操作 ios_base类表示流的一般特征 ios类基于ios_base,包含了一个指向streambuf对象的指针 ostream类从ios派生,提供可输出方法 istream类从ios派生,提供可输入方法 iostream类基于ostream和istream,继承了输入和输出方法 3.包含iostream则自动创建了8个流对象 cin 标准输入 wcin 宽字符流

java第四章编程题(初学篇)

代码: 1 /* 2 test.java 3 */ 4 package test; 5 public class test { 6 public static void main(String args[] ) 7 { 8 CPU ccp= new CPU(); 9 HardDisk hhd=new HardDisk(); 10 PC pc =new PC(); 11 ccp.setSpeed(2200); 12 hhd.setAmount(200); 13 pc.setCPU(ccp); 14