
前言
Java是应用最广泛的面向对象的程序设计语言之一,最初由James Gosling开发,并于1995年5月作为Sun公司Java平台的核心组件发布。受C++的启发,Java不仅吸收了C++的各种优点,还摒弃了C++中难以理解的多重继承、指针等概念。因此,Java具有功能强大和易学易用的特点。与C++不同的是,Java是完全面向对象的语言,支持抽象、封装、继承和多态等面向对象的全部概念,开发者能够以更优雅的方式开发出系统稳定性好、可重用性和可维护性佳的应用程序。Java具有平台独立性等特点,通过编译器将Java源代码文件编译成字节码文件,该字节码文件可以在任意平台上运行,如Windows、Linux和macOS等。平台独立性使Java能够实现“一次编译,随处运行”(Write Once,Run Anywhere),提高了Java程序的可移植性。
目前,Java开发生态已经非常成熟,拥有庞大的用户群体和开源社区,在互联网、大数据、云计算和物联网等诸多领域都有大量应用。全球使用Java的开发者已经有数千万人。JetBrains公司公布的2021年的统计数据显示,在中国大约有47%的开发者使用Java。
目前,市面上关于Java的书籍非常多,但是真正适合初学者学习的并不多。为此,达内时代科技集团将以往与Java相关的项目经验、产品应用和技术知识整理成册,并真正联合高等院校的一线授课老师编写适合初学者学习的知识内容与项目案例,达到通过本书来总结和分享Java领域实践成果的目的。本书从初学者的角度出发,循序渐进地讲解使用Java开发应用项目时应该掌握的各项技术。
本书内容
本书围绕Java展开介绍,在内容编排上由浅入深。
• 第1章:Java语言概述。首先介绍了Java的发展历程和特点,然后介绍了Java技术三大平台和Java虚拟机,最后从零开始构建Java开发环境。
• 第2章:Java语言基础。本章介绍了Java的标识符、关键字、保留字、变量、基本数据类型、运算符、表达式、流程控制语句及数组等内容。
• 第3章:面向对象编程基础。本章介绍了面向对象编程的思想、类、对象、方法的重载、实例成员与类成员、方法的参数传递机制、包,以及封装和访问控制等内容。
• 第4章:Java GUI编程技术。本章介绍了AWT和Swing、Swing常用的容器类组件、Swing常用的基本组件、布局管理器,以及事件处理等内容。
• 第5章:继承与多态。本章介绍了类的继承、成员变量的隐藏和方法重写、关键字super、关键字final、多态、对象的向上类型转换、虚拟方法调用,以及抽象方法和抽象类等内容。
• 第6章:异常机制。本章介绍了Java的异常机制、异常的分类、异常的处理、自定义异常和断言等内容。
• 第7章:接口与实现。本章介绍了接口、实现接口、接口回调、接口与多态、类与接口、函数接口与Lambda表达式,以及面向接口编程等内容。
• 第8章:基础类和工具类。本章介绍了基础类和工具类等内容。基础类包括Object类、包装类和String类,工具类包括数学类、Random类、SecureRandom类和日期时间类。
• 第9章:泛型与集合框架。本章介绍了泛型、List集合、Set集合、Map集合、遍历集合的方法、集合转换、集合工具类,以及开发中如何选择集合实现类等内容。
• 第10章:Java I/O技术。本章介绍了文件操作类、输入/输出流、字节流、字符流、RandomAccessFile类、PrintStream类和PrintWriter类、数组流、文件锁等内容。
• 第11章:JDBC编程技术。本章介绍了数据库和数据库管理工具、JDBC编程规范,以及预处理机制等内容。
• 第12章:Java多线程机制。本章介绍了线程的定义、线程的创建、线程的状态控制、线程的同步和互斥,以及并发工具包等内容。
• 第13章:Java网络编程技术。本章介绍了计算机网络的基础知识、Java网络编程的地址类、TCP Socket编程,以及UDP Socket编程等内容。
致谢
本书由达内时代科技集团与吉林工商学院的各位专家教授联合编著,全书由冯华、刁景涛负责策划、组织及统稿。他们对相关章节材料的组织与选编做了大量细致的工作,在此对各位编者的辛勤付出表示由衷的感谢!
感谢电子工业出版社的老师们对本书的重视,他们一丝不苟的工作态度保证了本书的质量。
为读者呈现准确、翔实的内容是编者的初衷,但由于编者水平有限,书中难免存在不足之处,敬请广大读者批评指正。
编者
2022年12月