
本书的组织结构和学习指南
常常有开发人员和学员问我,什么是学习Java的最佳途径?
我的回答是“多做,以项目驱动”。
学员又继续问我,那学习理论就不重要了吗?
我的回答是“当然也重要,但同样需要以项目驱动”。
为什么呢?试想一下,当你面对上百页的参考书或者文档时,是否会茫然不知所措,不知如何开始,不知彼此谁更重要。所以,只有以项目驱动才能更好地明确重点和主线,才能更好地分配时间和精力,这样才是最有效的。
本书围绕一个完整的项目来组织和学习Java核心技术。
第1章Java核心技术概述
首先介绍Java的历史、现状和特点;之后引入Java核心技术中最重要的面向对象基本概念:封装、继承和多态;最后概述Java核心技术的体系结构,包括基础部分和应用部分等。
第2章SuperVCD Store项目概述
作者希望推广一种有效的学习与培训的捷径,这就是Project-driven training,也就是用项目实践来带动理论的学习。本章我们重点介绍一个完整的项目(SuperVCD Store),包括需求分析、结构分析和运行指南。
接下来我们具体介绍Java核心技术开发和编码。
第3章Java启动(Getting Started)
学习Java开发的第一步是搭建Java开发环境,包括熟悉Java开发环境的配置和JDK开发工具;之后了解Java的核心特性,包括Java虚拟机、垃圾回收器、Java代码安全检查等;接着在此基础上掌握Java应用程序开发的基本概念,包括定义类、对象、包、应用程序,以及学习如何编辑、编译和运行Java应用程序。
第4章Java基础语法(一):标识符、关键字及数据类型
学习Java语言,首先要学习基础语法。本章首先介绍标识符(Identifier)、关键字(Keyword)、变量和常量等基本元素,然后介绍Java的数据类型,包括基本类型和引用类型。
第5章Java基础语法(二):表达式及流程控制
本章继续介绍Java基础语法,包括:Java运算符、表达式运算(包括运算符的优先级和数据类型转换)和流程控制(包括顺序流程、分支流程和循环流程)。
第6章Java基础语法(三):数组
数组也是Java语言中的一个重要组成部分。本章将介绍数组的声明、生成和初始化,数组的使用,以及多维数组的基本原理。
第7章Java面向对象核心语法
在前几章的基础之上,我们进入本书重点内容的学习,也就是面向对象的重要概念。本章介绍面向对象核心语法,包括:封装(Java中的类、方法和变量,以及构造方法和方法重载)、继承(继承概念和方法重写)和多态(多态概念和多态实现)。
第8章Java面向对象高级语法
本章我们继续介绍面向对象的一些高级特性,包括:静态(static)变量、方法和初始化程序块,最终(final)类、变量和方法,访问控制(Access Control),抽象类和方法(Abstract Classes and Methods),以及接口(Interface)、基本类型包装器(Wrappers)、集合、内部类、反射机制和一些常用类的介绍等。
第9章Java异常处理
异常处理也是Java的一个重要概念,它能够保证程序运行的强壮性。本章内容包括:异常定义、异常分类、异常处理(try,catch,finally,throws,throw语句)和自定义异常等。
第10章 使用AWT建立图形用户界面
本章及以后的内容属于Java核心技术的应用部分或高级部分。本章介绍如何使用AWT建立图形用户界面,包括:AWT概述,容器、组件和布局管理器,AWT事件处理(事件、事件处理器和适配器等)。
第11章 使用Swing建立图形用户界面
在AWT基础之上,本章介绍如何使用Swing这个改进了的技术建立更好的图形用户界面,包括:Java Foundation Classes(JFC)简介、Swing组件(Components)及Swing容器(Containers)等。
第12章Applet编程技术
Applet是使用Java语言编写的一段代码,可以在浏览器环境中运行。Applet实际上是一种特殊的图形用户界面程序。本章介绍Applet编程技术,包括:Applet简介、Applet生命周期、Applet的安全限制,以及Applet与浏览器之间的相互通信等。
第13章 多线程高级编程
对多线程的支持,是Java语言的一个重要优点,它可以实现代码的并行运行,提高程序的性能。本章介绍多线程高级编程技术,包括:线程简介,创建、初始化和启动线程,线程状态的转换,资源同时读取问题和线程的同步,以及使用wait/notify进行线程通信等。
第14章 使用输入/输出类
输入/输出是任何计算机语言都要涉及的,Java也不例外。本章介绍如何使用输入/输出类,包括:Java输入/输出流简介、java.io包的层次结构、文件和目录的操作、常用输入/输出类,以及对象流和对象序列化等。
第15章 使用TCP/IP和UDP/IP开发网络程序
Java自诞生起,就是面向网络的。本章介绍使用TCP/IP和UDP/IP开发网络程序的方法,包括:网络编程简介、理解TCP/IP及UDP/IP协议、使用ServerSocket和Socket开发TCP/IP网络程序、基于URL的高层次Java网络编程、使用DatagramPacket和DatagramSocket开发UDP/IP网络程序等。
第16章 使用JDBC技术开发数据库应用
Java语言可以通过使用JDBC技术连接关系型数据库管理系统RDBMS。JDBC提供了一组API,使用这些API可以很简便地操作RDBMS。本章讲解了数据库的基本概念、操作数据库的SQL语句,以及如何使用JDBC操作RDBMS。
本章提供了使用关系型数据库存储SuperVCD音乐数据、图形客户端使用JDBC连接并操作数据库的代码,从而使开发人员可以充分理解使用数据库的优势。
在本书附录中,我们介绍了Java集成开发环境(IDE)Eclipse开发工具、Java编程规范、与Java开发有关的UNIX介绍、Java与C++比较、Java本地接口(Java Native Interface),以及JDK 6.0中增加的一些新特性等。
每章的基本结构
理论介绍
演示代码demo
项目实例
本章总结
思考题(中英文概念和作业)(注:题目是分级别的,级别越高,难度越大。)
练习(注:题目是分级别的,级别越高,难度越大。)