第1章 了解Java1
1.1 Java概述2
1.1.1 什么是Java2
1.1.2 Java的特点2
1.1.3 Java的工作方式3
1.1.4 Java技术平台简介3
1.1.5 Java开发环境的准备3
1.2 开发Java应用程序4
1.2.1 两类Java程序4
1.2.2 一个简单的Java应用程序4
1.2.3 代码编写及保存5
1.2.4 程序编译及运行5
1.2.5 初识类7
1.3 main()方法与命令行参数7
1.4 Java基本语法10
1.4.1 基本数据类型10
1.4.2 标识符命名规则及规范10
1.4.3 注释语句11
1.4.4 流程控制语句12
1.4.5 选择结构语句12
1.4.6 循环结构语句16
1.5 了解Java Applet小程序20
1.5.1 Java Applet小程序实例代码及结构分析20
1.5.2 Java Applet小程序的编译和运行21
1.5.3 Java Applet小程序的使用说明22
1.6 初学Java的注意事项23
1.6.1 注意事项23
1.6.2 常见错误23
实验与训练24
第2章 面向对象的“对象”25
2.1 面向对象程序设计思想26
2.2 认识对象27
2.2.1 对象的概念27
2.2.2 对象的两种成员27
2.2.3 对象之间的关系28
2.3 认识类28
2.3.1 类的概念28
2.3.2 类的定义29
2.4 类与对象的关系30
2.5 创建第一个对象30
2.5.1 对象的声明30
2.5.2 对象的创建31
2.5.3 对象的使用32
2.5.4 对象的引用与对象的实体33
实验与训练35
第3章 对象的属性--成员变量详述37
3.1 变量与基本数据类型39
3.1.1 整数类型39
3.1.2 浮点类型39
3.1.3 字符类型40
3.1.4 逻辑类型40
3.1.5 数据类型的转换41
3.2 常量43
3.3 字符串类型44
3.4 运算符45
3.4.1 算术运算符45
3.4.2 自增、自减运算符46
3.4.3 关系运算符47
3.4.4 逻辑运算符48
3.4.5 赋值运算符49
3.4.6 条件运算符49
3.5 数组50
3.5.1 数组的声明50
3.5.2 数组的创建51
3.5.3 数组的初始化53
3.5.4 数组的length属性55
3.5.5 数组元素的使用56
3.5.6 类类型数组60
3.5.7 数组的引用63
3.6 接收用户输入的数据64
3.7 成员变量69
3.7.1 成员变量的默认值69
3.7.2 复杂类型的成员变量71
实验与训练73
第4章 对象的行为--成员方法75
4.1 自定义方法77
4.1.1 方法的定义和调用77
4.1.2 方法的返回值79
4.1.3 方法的参数81
4.1.4 实参与形参之间的数据传递83
4.1.5 引用型数据做方法参数84
4.2 类中的方法86
4.3 方法重载87
4.4 构造方法89
4.4.1 构造方法的定义89
4.4.2 构造方法的使用90
4.5 封装与Getters、Setters方法93
实验与训练96
第5章 生命周期及作用域97
5.1 对象的生命周期98
5.1.1 对象生命周期的开始与结束98
5.1.2 对象生命周期结束的三种情况98
5.2 作用域99
5.2.1 语句块限定作用域99
5.2.2 不同语句块中的同名变量100
5.3 访问权限102
5.3.1 公共变量和公共方法103
5.3.2 受保护的变量和方法104
5.3.3 默认包范围的变量和方法104
5.3.4 私有变量和私有方法104
5.3.5 不同访问修饰符修饰的类108
5.4 类的静态成员108
5.4.1 静态成员变量108
5.4.2 静态成员方法110
5.5 包112
5.5.1 package语句112
5.5.2 使用包112
实验与训练113
第6章 Java常用类115
6.1 Eclipse集成开发环境116
6.2 Java常用类及核心包116
6.3 Integer类及其他基本数据类型类117
6.3.1 基本数据类型类介绍117
6.3.2 Integer类117
6.3.3 其他基本数据类型类119
6.4 Math类120
6.5 Random类122
6.6 JOptionPane类123
6.6.1 确认对话框123
6.6.2 提示输入文本对话框124
6.6.3 显示信息对话框124
6.6.4 OptionDialog对话框125
6.6.5 显示标准对话框方法说明126
6.6.6 标准对话框应用实例128
6.7 Vector类130
6.8 字符串类详述132
6.8.1 String类132
6.8.2 StringBuffer类134
6.8.3 String类与StringBuffer类的异同136
6.9 使用Java API文档137
实验与训练139
第7章 面向对象中的继承141
7.1 类的继承142
7.1.1 继承的实现143
7.1.2 继承的层次144
7.1.3 继承的意义145
7.1.4 所有类的父类--Object类145
7.2 子类覆盖父类的方法147
7.2.1 方法覆盖147
7.2.2 Java中静态方法和非静态方法覆盖的区别148
7.3 子类与父类的进一步说明149
7.3.1 关于子类的构造方法149
7.3.2 this关键字的使用151
7.3.3 super关键字的使用152
7.3.4 父类和子类对象的转换153
7.3.5 继承的使用说明156
7.4 面向对象编程的多态156
7.4.1 运行时多态156
7.4.2 方法重载与方法覆盖的比较158
实验与训练158
第8章 面向对象中的多态160
8.1 final关键字161
8.1.1 final修饰的最终类162
8.1.2 final修饰的最终方法162
8.1.3 final修饰的常量163
8.2 抽象类与抽象方法163
8.2.1 抽象类与抽象方法的定义163
8.2.2 抽象类与抽象方法的使用164
8.2.3 对抽象类与抽象方法的总结166
8.3 接口167
8.3.1 接口的定义167
8.3.2 接口的使用167
8.3.3 接口的相关说明171
8.4 多态的应用172
8.4.1 多态的进一步理解172
8.4.2 抽象类与接口的多态性应用173
8.4.3 多态使用的注意事项177
实验与训练178
第9章 使用异常处理180
9.1 异常和异常处理181
9.1.1 异常和异常类181
9.1.2 try…catch…finally…语句块182
9.1.3 使用异常处理的相关说明184
9.2 自定义异常186
9.2.1 自定义异常类186
9.2.2 throw与throws的使用189
实验与训练190
第10章 基于Swing的图形界面编程191
10.1 图形界面编程与相关包193
10.1.1 GUI与AWT包、Swing包193
10.1.2 Swing包简介194
10.1.3 编写GUI程序的注意事项196
10.2 窗口的实现196
10.2.1 框架类JFrame196
10.2.2 面板类JPanel199
10.3 组件类的使用200
10.3.1 组件的添加与去除200
10.3.2 设置组件的大小与位置200
10.3.3 设置组件的颜色和字体201
10.3.4 设置组件的可用性与可见性202
10.4 按钮与标签203
10.4.1 按钮类JButton203
10.4.2 标签类JLabel207
10.4.3 自定义具备组件的框架类208
10.5 文本输入组件211
10.5.1 文本框类JTextField211
10.5.2 文本区类JTextArea212
10.5.3 密码框类JPasswordField213
10.6 选择性组件214
10.6.1 复选框类JCheckBox214
10.6.2 单选按钮类JRadioButton217
10.6.3 组合框类JComboBox219
10.7 菜单组件220
10.7.1 菜单栏类JMenuBar221
10.7.2 菜单类JMenu221
10.7.3 菜单项类JMenuItem222
10.7.4 菜单组件综合应用225
10.8 Swing布局管理227
10.8.1 FlowLayout布局227
10.8.2 BorderLayout布局228
10.8.3 GridLayout布局230
10.8.4 null布局及其他布局232
10.8.5 布局方式的配合使用234
10.9 其他Swing高级组件236
10.9.1 表格类JTable236
10.9.2 树类JTree238
10.9.3 滚动窗格类JScrollPane240
10.9.4 拆分窗格类JSplitPane243
实验与训练245
第11章 可视化程序的事件处理247
11.1 事件处理机制249
11.1.1 Java事件处理机制249
11.1.2 事件处理接口及事件类250
11.1.3 使用事件处理机制251
11.2 常用组件的事件处理252
11.2.1 按钮的单击事件处理253
11.2.2 其他组件的事件处理254
11.3 窗口事件处理258
11.4 鼠标事件处理260
11.4.1 鼠标事件处理的实现260
11.4.2 鼠标指针的设置262
11.5 键盘事件处理264
11.5.1 键盘事件处理的实现264
11.5.2 组合键事件的处理267
11.6 对话框的应用268
11.6.1 常用对话框类JDialog269
11.6.2 文件对话框类JFileChooser270
11.6.3 颜色对话框类JColorChooser273
实验与训练275
第12章 Java多线程机制278
12.1 多线程机制279
12.1.1 进程与线程279
12.1.2 多线程机制280
12.2 线程的创建280
12.2.1 使用Thread类280
12.2.2 使用Runnable接口282
12.3 线程的生命周期及控制283
12.3.1 线程的生命周期和状态284
12.3.2 多线程的基本控制及方法284
12.4 线程的同步机制285
12.5 计时器Timer类285
实验与训练288
第13章 综合实例--计算器的设计289
13.1 项目描述289
13.2 需求分析289
13.3 概要设计290
13.4 详细设计291
13.4.1 主框架的设计和实现291
13.4.2 数字按钮292
13.4.3 小数点按钮293
13.4.4 正负号按钮294
13.4.5 等号按钮295
13.4.6 运算按钮296
13.4.7 退格按钮297
13.4.8 清空按钮298
13.4.9 退出按钮299
13.5 完整源代码299
附录A Java开发环境的准备309
附录B Eclipse的安装和使用312
索引318