`
chenming47
  • 浏览: 94748 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

java编程思想--内容概要

阅读更多

(1) 第1 章:对象入门
这一章是对面向对象的程序设计(OOP)的一个综述,其中包括对“什么是对象”之类的基本问题的回答,并
讲述了接口与实现、抽象与封装、消息与函数、继承与合成以及非常重要的多形性的概念。这一章会向大家
提出一些对象创建的基本问题,比如构建器、对象存在于何处、创建好后把它们置于什么地方以及魔术般的
垃圾收集器(能够清除不再需要的对象)。要介绍的另一些问题还包括通过违例实现的错误控制机制、反应
灵敏的用户界面的多线程处理以及连网和因特网等等。大家也会从中了解到是什么使得Java 如此特别,它为
什么取得了这么大的成功,以及与面向对象的分析与设计有关的问题。


(2) 第2 章:一切都是对象
本章将大家带到可以着手写自己的第一个Java 程序的地方,所以必须对一些基本概念作出解释,其中包括对
象“句柄”的概念;怎样创建一个对象;对基本数据类型和数组的一个介绍;作用域以及垃圾收集器清除对
象的方式;如何将Java 中的所有东西都归为一种新数据类型(类),以及如何创建自己的类;函数、自变量
以及返回值;名字的可见度以及使用来自其他库的组件;static 关键字;注释和嵌入文档等等。


(3) 第3 章:控制程序流程
本章开始介绍起源于C 和C++,由Java 继承的所有运算符。除此以外,还要学习运算符一些不易使人注意的
问题,以及涉及造型、升迁以及优先次序的问题。随后要讲述的是基本的流程控制以及选择运算,这些是几
乎所有程序设计语言都具有的特性:用if-else 实现选择;用for 和while 实现循环;用break 和continue
以及Java 的标签式break 和contiune (它们被认为是Java 中“不见的gogo”)退出循环;以及用switch
实现另一种形式的选择。尽管这些与C 和C++中见到的有一定的共通性,但多少存在一些区别。除此以外,
所有示例都是完整的Java 示例,能使大家很快地熟悉Java 的外观。


(4) 第4 章:初始化和清除
本章开始介绍构建器,它的作用是担保初始化的正确实现。对构建器的定义要涉及函数过载的概念(因为可
能同时有几个构建器)。随后要讨论的是清除过程,它并非肯定如想象的那么简单。用完一个对象后,通常
可以不必管它,垃圾收集器会自动介入,释放由它占据的内存。这里详细探讨了垃圾收集器以及它的一些特
点。在这一章的最后,我们将更贴近地观察初始化过程:自动成员初始化、指定成员初始化、初始化的顺
序、static(静态)初始化以及数组初始化等等。


(5) 第5 章:隐藏实现过程
本章要探讨将代码封装到一起的方式,以及在库的其他部分隐藏时,为什么仍有一部分处于暴露状态。首先
要讨论的是package 和import 关键字,它们的作用是进行文件级的封装(打包)操作,并允许我们构建由类
构成的库(类库)。此时也会谈到目录路径和文件名的问题。本章剩下的部分将讨论public,private 以及
protected 三个关键字、“友好”访问的概念以及各种场合下不同访问控制级的意义。


(6) 第6 章:类再生
继承的概念是几乎所有OOP 语言中都占有重要的地位。它是对现有类加以利用,并为其添加新功能的一种有
效途径(同时可以修改它,这是第7 章的主题)。通过继承来重复使用原有的代码时(再生),一般需要保
持“基础类”不变,只是将这儿或那儿的东西串联起来,以达到预期的效果。然而,继承并不是在现有类基
础上制造新类的唯一手段。通过“合成”,亦可将一个对象嵌入新类。在这一章中,大家将学习在Java 中重
复使用代码的这两种方法,以及具体如何运用。


(7) 第7 章:多形性
若由你自己来干,可能要花9 个月的时间才能发现和理解多形性的问题,这一特性实际是OOP 一个重要的基
础。通过一些小的、简单的例子,读者可知道如何通过继承来创建一系列类型,并通过它们共有的基础类对
那个系列中的对象进行操作。通过Java 的多形性概念,同一系列中的所有对象都具有了共通性。这意味着我
们编写的代码不必再依赖特定的类型信息。这使程序更易扩展,包容力也更强。由此,程序的构建和代码的
维护可以变得更方便,付出的代价也会更低。此外,Java 还通过“接口”提供了设置再生关系的第三种途
径。这儿所谓的“接口”是对对象物理“接口”一种纯粹的抽象。一旦理解了多形性的概念,接口的含义就
很容易解释了。本章也向大家介绍了Java 1.1 的“内部类”。


(8) 第8 章:对象的容纳
对一个非常简单的程序来说,它可能只拥有一个固定数量的对象,而且对象的“生存时间”或者“存在时
间”是已知的。但是通常,我们的程序会在不定的时间创建新对象,只有在程序运行时才可了解到它们的详
情。此外,除非进入运行期,否则无法知道所需对象的数量,甚至无法得知它们确切的类型。为解决这个常
见的程序设计问题,我们需要拥有一种能力,可在任何时间、任何地点创建任何数量的对象。本章的宗旨便
是探讨在使用对象的同时用来容纳它们的一些Java 工具:从简单的数组到复杂的集合(数据结构),如
Vector 和Hashtable 等。最后,我们还会深入讨论新型和改进过的Java 1.2 集合库。


(9) 第9 章:违例差错控制
Java 最基本的设计宗旨之一便是组织错误的代码不会真的运行起来。编译器会尽可能捕获问题。但某些情况
下,除非进入运行期,否则问题是不会被发现的。这些问题要么属于编程错误,要么则是一些自然的出错状
况,它们只有在作为程序正常运行的一部分时才会成立。Java 为此提供了“违例控制”机制,用于控制程序
运行时产生的一切问题。这一章将解释try、catch、throw、throws 以及finally 等关键字在Java 中的工作
原理。并讲述什么时候应当“掷”出违例,以及在捕获到违例后该采取什么操作。此外,大家还会学习Java
的一些标准违例,如何构建自己的违例,违例发生在构建器中怎么办,以及违例控制器如何定位等等。


(10) 第10 章:Java IO 系统
理论上,我们可将任何程序分割为三部分:输入、处理和输出。这意味着IO(输入/输出)是所有程序最为
关键的部分。在这一章中,大家将学习Java 为此提供的各种类,如何用它们读写文件、内存块以及控制台
等。“老”IO 和Java 1.1 的“新”IO 将得到着重强调。除此之外,本节还要探讨如何获取一个对象、对其
进行“流式”加工(使其能置入磁盘或通过网络传送)以及重新构建它等等。这些操作在Java 的1.1 版中都
可以自动完成。另外,我们也要讨论Java 1.1 的压缩库,它将用在Java 的归档文件格式中(JAR)。


(11) 第11 章:运行期类型鉴定
若只有指向基础类的一个句柄,Java 的运行期类型标鉴定(RTTI)使我们能获知一个对象的准确类型是什
么。一般情况下,我们需要有意忽略一个对象的准确类型,让Java 的动态绑定机制(多形性)为那一类型实
现正确的行为。但在某些场合下,对于只有一个基础句柄的对象,我们仍然特别有必要了解它的准确类型是
什么。拥有这个资料后,通常可以更有效地执行一次特殊情况下的操作。本章将解释RTTI 的用途、如何使用
以及在适当的时候如何放弃它。此外,Java 1.1 的“反射”特性也会在这里得到介绍。


(12) 第12 章:传递和返回对象
由于我们在Java 中同对象沟通的唯一途径是“句柄”,所以将对象传递到一个函数里以及从那个函数返回一
个对象的概念就显得非常有趣了。本章将解释在函数中进出时,什么才是为了管理对象需要了解的。同时也
会讲述String(字串)类的概念,它用一种不同的方式解决了同样的问题。


(13) 第13 章:创建窗口和程序片
Java 配套提供了“抽象Windows 工具包”(AWT)。这实际是一系列类的集合,能以一种可移植的形式解决
视窗操纵问题。这些窗口化程序既可以程序片的形式出现,亦可作为独立的应用程序使用。本章将向大家介
绍AWT 以及网上程序片的创建过程。我们也会探讨AWT 的优缺点以及Java 1.1 在GUI 方面的一些改进。同
时,重要的“Java Beans”技术也会在这里得到强调。Java Beans 是创建“快速应用开发”(RAD)程序构
造工具的重要基础。我们最后介绍的是Java 1.2 的“Swing”库——它使Java 的UI 组件得到了显著的改
善。


(14) 第14 章:多线程
Java 提供了一套内建的机制,可提供对多个并发子任务的支持,我们称其为“线程”。这线程均在单一的程
序内运行。除非机器安装了多个处理器,否则这就是多个子任务的唯一运行方式。尽管还有别的许多重要用
途,但在打算创建一个反应灵敏的用户界面时,多线程的运用显得尤为重要。举个例子来说,在采用了多线
程技术后,尽管当时还有别的任务在执行,但用户仍然可以毫无阻碍地按下一个按钮,或者键入一些文字。
本章将对Java 的多线程处理机制进行探讨,并介绍相关的语法。


(15) 第15 章 网络编程
开始编写网络应用时,就会发现所有Java 特性和库仿佛早已串联到了一起。本章将探讨如何通过因特网通
信,以及Java 用以辅助此类编程的一些类。此外,这里也展示了如何创建一个Java 程序片,令其同一个
“通用网关接口”(CGI)程序通信;揭示了如何用C++编写CGI 程序;也讲述了与Java 1.1 的“Java 数据
库连接”(JDBC)和“远程方法调用”(RMI)有关的问题。


(16) 第16 章 设计范式
本章将讨论非常重要、但同时也是非传统的“范式”程序设计概念。大家会学习设计进展过程的一个例子。
首先是最初的方案,然后经历各种程序逻辑,将方案不断改革为更恰当的设计。通过整个过程的学习,大家
可体会到使设计思想逐渐变得清晰起来的一种途径。


(17) 第17 章 项目
本章包括了一系列项目,它们要么以本书前面讲述的内容为基础,要么对以前各章进行了一番扩展。这些项
目显然是书中最复杂的,它们有效演示了新技术和类库的应用。
有些主题似乎不太适合放到本书的核心位置,但我发现有必要在教学时讨论它们,这些主题都放入了本书的
附录。


(18) 附录A:使用非Java 代码
对一个完全能够移植的Java 程序,它肯定存在一些严重的缺陷:速度太慢,而且不能访问与具体平台有关的
服务。若事先知道程序要在什么平台上使用,就可考虑将一些操作变成“固有方法”,从而显著加快执行速
度。这些“固有方法”实际是一些特殊的函数,以另一种程序设计语言写成(目前仅支持C/C++)。Java 还
可通过另一些途径提供对非Java 代码的支持,其中包括CORBA。本附录将详细介绍这些特性,以便大家能创
建一些简单的例子,同非Java 代码打交道。


(19) 附录B:对比C++和Java
对一个C++程序员,他应该已经掌握了面向对象程序设计的基本概念,而且Java 语法对他来说无疑是非常眼
熟的。这一点是明显的,因为Java 本身就是从C++衍生而来。但是,C++和Java 之间的确存在一些显著的差
异。这些差异意味着Java 在C++基础上作出的重大改进。一旦理解了这些差异,就能理解为什么说Java 是
一种杰出的语言。这一附录便是为这个目的设立的,它讲述了使Java 与C++明显有别的一些重要特性。


(20) 附录C:Java 编程规则
本附录提供了大量建议,帮助大家进行低级程序设计和代码编写。


(21) 附录D:性能
通过这个附录的学习,大家可发现自己Java 程序中存在的瓶颈,并可有效地改善执行速度。


(22) 附录E:关于垃圾收集的一些话
这个附录讲述了用于实现垃圾收集的操作和方法。


(23) 附录F:推荐读物
列出我感觉特别有用的一系列Java 参考书。

分享到:
评论

相关推荐

    侯捷-Java编程思想+第2版(繁体版)

    ### 侯捷-Java编程思想+第2版(繁体版)关键知识点解析 #### 一、书籍概览与评价 - **书籍名称**:本书名为《Thinking in Java》第二版,作者为Bruce Eckel,台湾译者为侯捷与王建兴。 - **书籍定位**:本书被广泛...

    Java编程思想学习笔记

    在讨论Java编程思想学习笔记时,首先需要了解的是Java语言的平台无关性,而这一特性正是通过Java虚拟机(JVM)得以实现的。JVM作为Java程序设计的关键组成部分,对于Java开发人员来说是必须掌握的基础知识。在该学习...

    Java课程设计-学生学籍管理系统

    【Java课程设计-学生学籍管理系统】是一次深入学习和实践Java编程的项目,旨在让学生掌握Java语言的核心概念,特别是面向对象编程的思想和方法。在这个系统中,学生将使用Java语言来开发一个实用的学生信息管理工具...

    Java课程设计--简单记事本程序的设计.doc

    - **程序设计思路** 通常包括采用面向对象编程思想,将记事本程序划分为多个类,如主窗口类、菜单类、文本编辑类等,每个类负责特定的功能。 - **程序运行界面** 设计应该直观、简洁,包括菜单栏,可能包含“文件...

    java课程设计-文件管理系统.doc

    - 《Java编程思想》 - Oracle官方文档 - Stack Overflow 和 GitHub 上的相关教程和示例代码 #### 十、成绩评价表 课程设计完成后,指导老师会对学生的工作进行评估。评价标准可能包括: - 项目的完成度 - 代码的...

    Java零基础-多态.md

    #### 内容概要 本文旨在深入浅出地介绍Java中的多态(Polymorphism)这一核心概念及其具体应用。读者不仅能够理解多态的基本含义,还能掌握如何在实际编程中运用多态,提高代码的灵活性和可扩展性。 #### 多态的...

    《面向对象程序设计》java课程设计--航空订票管理系统设计.doc

    面向对象程序设计是指基于对象的编程思想,强调封装、继承和多态性。其中,封装是指将数据和方法封装在一起,继承是指子类继承父类的属性和方法,多态性是指对象可以具有多种形式和行为。 Java语言 航空订票管理...

    java界面设计编程-旅游城市管理界面系统+带视频演示

    设计减少游客在常德旅行时的需求的一款软件,要求有用户登录等 GUI 界面,用户数据存在数据库里,并体现面向对象编程思想。 为了减少游客在常德旅行时的需求,并实现一下功能 (1)首页,用户可以点击美食,医疗,...

    Java 基础应用 - 学生信息管理系统的构建与实现

    内容概要:本文介绍了‘学生信息管理系统’的设计与实现,一个基于 Java 语言的桌面应用程序。该系统提供了多种基本的学生信息和成绩管理功能,并强调良好的用户体验、性能稳定性和数据安全性。文档具体涵盖了系统的...

    java课程设计-蜘蛛纸牌游戏下拉列表运算器设计课程设计报告.doc

    - 应用面向对象编程思想,合理划分类和对象,确保代码的可读性和可维护性。 - 使用Java Swing库构建GUI,确保界面美观且响应快速。 - 确保游戏规则的准确实现,符合蜘蛛纸牌的常规玩法。 - 考虑异常处理,使程序在...

    计算机语言Java课程设计-学籍管理系统.doc

    本篇将详细介绍基于Java编程语言的学籍管理系统的设计与实现,这是一个典型的软件工程实践项目,旨在培养学生掌握Java编程语言、面向对象设计原则以及数据库应用的能力。 ### 1. 系统概述 1.1 系统功能 学籍管理...

    Java课程设计-面向对象课程设计.doc

    面向对象课程设计是Java编程学习中的一个重要环节,旨在让学生深入理解面向对象的编程思想和方法。在这个课程设计中,学生通常会被要求选择一个项目来实现,例如开发一款益智游戏——俄罗斯方块。通过这样的实践,...

    Java核心技术卷一-完整书签-pdf

    Java领域最有影响力和价值的著作之一,拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),与《Java编程思想》齐名,10余年全球畅销不衰,广受好评。第9版根据JavaSE7全面更新,同时修正了第8版中的...

    JAVA课程设计-保存计算过程地计算器.docx

    总的来说,这个JAVA课程设计项目不仅锻炼了开发者对JAVA语言的理解和应用,还展示了面向对象编程和模块化设计在实际问题解决中的价值。通过这个计算器,用户不仅可以得到准确的结果,还能跟踪计算路径,增加了使用的...

    java课程设计报告--2048小游戏.doc

    根据给定的文件信息,以下是对“java课程设计报告--2048小游戏”的相关知识点进行的详细解析: ### 一、项目背景 ...通过实际操作,学生可以更好地掌握面向对象编程的思想,并为未来的学习和工作打下坚实的基础。

    Java课程设计报告-记事本程序.doc

    本次课程设计在2010年12月进行,学生通过这段期间的实践,深入理解Java编程语言,特别是面向对象的设计思想和方法。 2. 设计目的 设计目的是让学生掌握Java语言的面向对象特性,如类、对象、继承、封装和多态等,并...

    JAVA黑白棋课程设计.pdf

    本课程设计旨在通过黑白棋游戏的开发,不仅让学生掌握Java编程的基础知识,还能在实践中学习面向对象编程的思想、Java标准类库的使用方法以及简单的AI算法。此外,还能够锻炼学生的综合分析能力和问题解决能力,为...

    精品资料(2021-2022年收藏)电子词典java课设含可运行程序概要.doc

    1. **Java编程**:整个电子词典的开发基于Java语言,这涵盖了Java的基础语法、类与对象的概念,以及面向对象编程思想的运用。通过此项目,开发者可以深入理解如何构建和管理类,以及如何创建和调用方法。 2. **Java...

    java课程设计期末

    【Java课程设计期末】是大学课程中常见的实践环节,旨在帮助学生深入理解Java语言的核心概念,特别是面向对象编程思想,并能灵活运用到实际项目中。本次课程设计的任务是设计一个简单的画板应用,通过这个项目,学生...

Global site tag (gtag.js) - Google Analytics