8.2    继承(inheritance):
继承是指在类之间共享属性和方法。继承关系是一种层次关系。在继承关系中位于顶部的类称为超类(或基类),位于下面的类称为子类(或派生类)。
类型转换(type casting):是强制一个数据从一种类型转换为另一种类型。方法是通过在待转换的数据前加一对含有新类型名称的括号实现。

8.4    方法重写(method overriding)
多态性的实现:方法重载和方法重写。
方法重载指同一类中可以存在具有相同名称的不同方法,通过它们的参数列表加以区分。
方法重写指超类中的方法,可以在子类中重写。

不同的方法:在方法重载中通过不同的参数列表相互区分,在方法重写中通过隶属的对象的不同相互区分。

8.5    abstract
抽象类(abstract class):不可以创建其对象,仅能作为创建其他类的基类。
抽象方法(abstract method):强制所有的子类必须实现该方法。
注:如果子类声明成abstract class,那么从超类继承来的abstract method也可以不实现。

8.6 final
(final class):该类不能被继承。
(final method):该方法不能被重写。
注:(final variable):就是常量,与面向对象无关。

8.8    包装类和autoboxing
对于每个基本类型,Java都有一个对应的类,这个类将数据类型包装其中,称为包装类。

自测题:
1。解释什么是继承?
继承是指在类之间共享属性和方法。继承关系是一种层次关系,也被称为a-kind-of关系。

2。在UML类图中如何描述继承关系?
用空心的三角形表示继承关系,三角形的尖指的是基类。

3。在Java中,使用哪个关键字声明一个类是另一个类的子类?
class 子类 extends 基类,用extends关键字代表继承关系。

4。区分方法重写和方法重载的不同。
多态性的实现:方法重载和方法重写。
方法重载指同一类中可以存在具有相同名称的不同方法,通过它们的参数列表加以区分。
方法重写指超类中的方法,可以在子类中重写。
不同的方法的相互区分:在方法重载中通过不同的参数列表相互区分,在方法重写中通过隶属的对象的不同相互区分。

5。解释什么是类型转换,并描述Java中类型转换是如何实现的。
强制类型转换(typecast):强制一个数据从一种数据类型转换为另一种数据类型。
通过在待转换的数据前加一对含有新类型名称的括号实现。

6。解释abstract和final修饰符分别应用于类和方法时的作用。
abstract class表示这个类为抽象类,不能创建对象,只能作为其他类的基类。
abstract method表示这个方法是抽象方法,没有实现,子类如果要实例化,必须重写这个方法。
final class表示这个类为最终类,不能被继承。
final method表示这个方法是最终的方法,子类不能重写。

编程练习:代码附件
1.    ExtendedOblong.java    ExtendedOblongTester.java
2.    Vehicle.java        SecondHandVehicle.java

《Java大学教程》—第8章 通过继承扩展类的更多相关文章

  1. 正在学习的Java大学教程

    推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...

  2. “全栈2019”Java第五十二章:继承与初始化详解

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

  3. “全栈2019”Java第四十六章:继承与字段

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

  4. “全栈2019”Java第四十四章:继承

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

  5. 《Java大学教程》—第14章 抽象、继承和接口

    自测题:1.    解释抽象和抽象数据类型的概念.P333抽象的概念是仅仅关注对象可以完成什么工作,而不必担心如何完成工作的细节.类模板通常被称为抽象数据类型.因为这类数据暴露给用户的所有信息仅仅是方 ...

  6. 《Java大学教程》—第22章 多线程程序

    22.2 进程(process):P551时间切片(time-slicing):处理器只是完成了一个任务的一部分工作,然后完成下一个任务的一部分工作,因为处理吕每次完成工作的时间都非常短,因此看起来这 ...

  7. 《Java大学教程》—第13章 程序包

    接下来,是第二学期的内容,也是相对深入的Java学习. 自测题:1.    在类的开发过程中,程序包的作用是什么?P321程序包是为了方便定位和部署类,还可以避免将来类之间出现名称冲突. 2.    ...

  8. Cobalt Strike系列教程第六章:安装扩展

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  9. 《Java大学教程》—第24章 Java的背景

    本章主要介绍的是Java的背景知识,通过了解历史知道Java与其他语言的区别,以便更好选择在什么场景下使用Java. 24.2    语言的尺寸Java语言短小.紧凑,以C++为基础,放弃了一些特定的 ...

随机推荐

  1. 《C#并发编程经典实例》学习笔记-进程(process)和线程(thread)

    本文主要参考自孙钟秀主编的<操作系统教程>一书中关于进程和线程的部分. 进程 为什么引入进程? 一,刻画系统动态性,发挥系统并发性,提高资源利用率. 以C#为例,在编辑器Visual St ...

  2. vim撤销undo与反撤销redo

    普通模式下  u 撤销 ctrl + r 反撤销

  3. JQuery官方学习资料(译):$ vs $()

    直到现在,我们一直是通过一个jQuery对象来调用函数的,例如: $( "h1" ).remove();      大多数jQuery函数是通过jQuery对象调用的,这是$.fn ...

  4. 22.QT-QXmlStreamReader解析,QXmlStreamWriter写入

    XML介绍 XML 用于存储数据,数据的形式类似于树结构(参考: http://www.runoob.com/xml/) 示例如下 <?xml version="1.0" e ...

  5. 异常: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ResourceManager: NodeManager from localhost doesn't satisfy minimum allocations, Sending SHUTDOWN s

    异常: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed, Message from ...

  6. Java Cookie工具类

    1.Cookie跨域 Cookie不能跨顶级域名访问,但是二级域名可以共享Cookie,所以要实现跨域,有一定的局限性. 2.代码 package com.DingYu.Cookie; import ...

  7. Nginx之OCSP stapling配置

    摘要: 正确地配置OCSP stapling, 可以提高HTTPS性能. 什么是OCSP stapling? OCSP的全称是Online Certificate Status Protocol,即在 ...

  8. mapper代理查询

    对于查询来说,要根据具体的业务,来指定mapper接口中方法的返回值类型1:如果只返回一条记录,mapper接口中方法的返回值类型应指定为pojo类型或其他简单类型,这样mybatis内部就会使用se ...

  9. loadrunner 脚本优化-参数化之场景中的参数化取值

    脚本优化-场景中的参数化取值 by:授客 QQ:1033553122   Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...

  10. loadrunner 脚本优化-参数化方法

    脚本优化-参数化方法 by:授客 QQ:1033553122 方法一 1.确定需要参数化的内容 2.选中需要参数化的内容 3.右键选中的内容->Replace with a Parameter- ...