为了适应Java技术的快速发展和计算机教学的需要,作者基于多年从事Java程序设计教学和开发实践的经验编写了《Java面向对象程序设计》。
全书文字简明易懂,并且提供了大量程序示例帮助读者理解、掌握相关知识,所有程序示例全部在JDK 16环境下编译通过并运行。另外,该书还介绍了很多Java技术的应用场景以及背后蕴含的思想,力争使读者对相关技术有一个全方位的认识。
《Java面向对象程序设计》可作为高等院校计算机相关专业Java程序设计课程的教材,也可作为Java语言及编程爱好者的参考资料。
Java自1995年问世以来,经过20多年的发展,目前已广泛应用于互联网、PC、数据中心、游戏、移动计算等领域,广受全球开发者的喜爱。根据TIOBE排行榜2017年、2018年和2019年的数据,Java都是独占鳌头。可以说,Java是互联网时代最具影响力和代表性的语言之一。
为了适应Java技术的快速发展和计算机教学的需要,作者基于多年从事Java程序设计教学和开发实践的经验编写了本书。本书文字简明易懂,并且提供了大量程序示例帮助读者理解、掌握相关知识,所有程序示例全部在JDK 16环境下编译通过并运行。另外,本书还介绍了很多Java技术的应用场景以及背后蕴含的思想,力争使读者对相关技术有一个全方位的认识。本书可作为高等院校计算机相关专业Java程序设计课程的教材,也可作为Java语言及编程爱好者的参考资料。作者衷心地希望本书能成为广大读者的良师益友。
本书共分为十章。第一章主要介绍了Java的发展历史以及技术特点,如何安装、配置JDK,如何利用cmd命令行环境、集成开发环境Eclipse以及JShell 来编辑、编译和运行Java程序。第二章主要介绍了Java数据类型、运算符、变量与常量,输入输出、分支与循环等基础语法知识。第三章主要介绍了面向对象编程涉及的基础概念,如何定义一个类以及如何对定义的类进行实例化并通过对象的引用来调用类中的方法,this和static的含义与用法,Java方法参数的值传递原则以及package与import机制。第四章介绍了Java的一维数组和高维数组的声明、创建、初始化以及数组元素的访问,还包括与数组紧密相关的命令行参数、for each循环以及数组排序等知识。第五章主要介绍了Java的一些高级类特性,主要有继承、多态、抽象类、接口和内部类等,还包括Java SE 8引入的lambda表达式。第六章主要介绍了Java异常的分类、异常处理机制以及如何自定义异常。第七章首先介绍了Java的泛型机制,然后从集合接口和集合具体实现类两个方面介绍了Java的集合框架。在集合接口方面主要包括Collec-tion、Iterable、Set、List、Map、Queue等。在集合具体实现类方面主要包括List 下的ArrayList和LinkedList,Set下的HashSet、TreeSet和EnumSet,Queue下的Priority Queue,Map下的HashMap、TreeMap、LinkedHashMap和Identi-tyHashMap。第八章主要包括Swing和AWT简介、画图、布局管理器、事件处理以及swing图形用户界面组件等几个部分。第九章首先介绍了线程的相关概念、线程的状态转换以及如何通过实现Runnable接口、Callable和继承Thread类来创建自己的线程,还介绍了Java为线程提供的一些常用方法,如何通过ReentrantLock锁和synchronized关键字来同步线程以及Swing与事件分派线程。第十章首先介绍了Java输入输出流的相关概念和整体分类,然后分字节输入流、字节输出流、字符输入流以及字符输出流四个部分详细介绍了一些常用I/O流的主要功能与基本用法。最后介绍了从JDKl.4开始引入的java.nio,主要包括NIO的三个核心对象(Buffer、Channel、Selector)的主要功能和基本用法。
本书第一~三、五、七~十章由刘丹老师编写;第四章由王轩老师编写;第六章由杨琳老师编写。另外,童名文教授在本书的编写过程中提出了很多宝贵的建议并对本书的出版给予了全力支持,作者对此表示诚挚的谢意。由于Java仍在不断更新发展之中,技术日新月异,作者的理论与实践水平有限,疏漏之处敬请读者批评指正。