《Java核心技术》笔记 第5章 继承
本章将学习面向对象程序设计的另一个基本概念:继承(inheritance)。继承的基本思想是可以基于已有的类创建新的类。继承已有的类就是复用(继承)这些类的方法和字段,而且可以添加新的方法和字段,以满足新的需求。这是Java编程中的一项核心技术。 5.1 类、超类和子类 回到上一章讨论的Employee类。假设经理的待遇与普通员工存在差异,经理除了领取薪水还能得到奖金。这种情形就需要使用继...
本章将学习面向对象程序设计的另一个基本概念:继承(inheritance)。继承的基本思想是可以基于已有的类创建新的类。继承已有的类就是复用(继承)这些类的方法和字段,而且可以添加新的方法和字段,以满足新的需求。这是Java编程中的一项核心技术。 5.1 类、超类和子类 回到上一章讨论的Employee类。假设经理的待遇与普通员工存在差异,经理除了领取薪水还能得到奖金。这种情形就需要使用继...
本章主要介绍: 面向对象程序设计入门; 如何创建Java标准库中类的对象; 如何编写自己的类。 4.1 面向对象程序设计概述 面向对象程序设计(object-oriented programming, OOP)是当今主流的程序设计范型,它取代了20世纪70年代的过程式程序设计(procedural programming)技术。由于Java是面向对象的,你必须熟悉OOP才能...
本章主要介绍如何在Java中实现基本编程概念,例如数据类型、分支和循环。 3.1 一个简单的Java程序 下面仔细分析一个最简单的Java程序——只是向控制台打印一条消息: 程序清单3-1 FirstSample/FirstSample.java 这个程序虽然很简单,但所有的Java应用都具有这种结构,因此值得花些时间来研究。首先,Java区分大小写。如果出现了大小写错误,程序将无法运...
本章主要介绍如何安装Java开发工具包(JDK)以及如何编译和运行Java程序。 2.1 安装Java开发工具包 过去,Oracle公司提供了最新、最完整的JDK版本。如今,很多不同的公司都为Linux、macOS和Windows提供了最新的OpenJDK构建版本,有些公司的许可证条件比Oracle更宽松。 发行版 官方网站 ...
1.2 Java“白皮书”的关键术语 Java的设计者编写了颇有影响力的“白皮书”,用来解释设计初衷和完成情况。他们还发布了一个简短的摘要,这个摘要按照下面11个关键术语进行组织: 简单性(Simple) 面向对象(Object-Oriented) 分布式(Distributed) 健壮性(Robust) 安全性(Secure) 体系结构中立(Architectur...
《Java核心技术》(Core Java)(第12版) 网站 本书网站:https://horstmann.com/corejava/ 源代码:https://horstmann.com/corejava/corejava.zip 目录 卷I 基础知识 第1章 Java概述 第2章 Java编程环境 第3章 Java的基本编程结构 第4章 对象和类 第5...
欢迎来到最后一个项目。在本章中,你将学习如何使用Pygame (https://www.pygame.org/),这个库让你能够使用Python编写功能齐全的街机游戏。Pygame虽然易于使用,功能却非常强大。它由多个组件组成,Pygame文档(https://www.pygame.org/docs/)做了详尽的介绍。 29.1 问题描述 游戏的基本设计过程与其他程序类似,但开发对象模型前...
这是个相对较小的项目,因为需要的大部分功能都已经在第27章写好了。在本章中,你将看到给已有的Python程序添加GUI多么容易。 28.1 问题描述 在这个项目中,我们将扩展第27章开发的文件共享系统,添加GUI客户端,让程序更容易使用。这个项目的第二个目标是展示具有足够高的模块化设计的程序非常容易扩展。 这个GUI客户端应该满足以下需求: 允许用户输入文件名,并将其提交给服务器的...
本章的项目是一个简单的文件共享应用,类似于BitTorrent (https://www.bittorrent.com/)等软件。 我们将使用的主要技术是XML-RPC,这是一种远程过程调用的协议。 27.1 问题描述 我们要创建一个P2P文件共享程序。文件共享意味着在运行于不同计算机上的程序之间交换文件。P2P (peer-to-peer)是描述计算机程序之间一种交互方式的术语,不同于...
本章将实现一个基于Web的论坛。 26.1 问题描述 在这个项目中,你将创建一个通过Web发布和回复消息的简单系统,可以作为论坛(discussion forum)使用。 本章介绍的技术不仅可用于开发独立的论坛,还可用于实现更通用的协作系统,例如问题跟踪(issue-tracking)系统、带评论功能的博客等。将CGI和数据库结合使用功能强大且用途广泛。 具体地说,最终的系统应该满足以...