《Java 面向对象编程》内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。书中实例均基于最新的JDK 1.5版本。全书内容包括面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、输入/输出和GUI编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。
第1章 面向对象开发方法概述.
1.1 结构化的软件开发方法简介
1.2 面向对象的软件开发方法简介
1.2.1 对象模型
1.2.2 UML:可视化建模语言
1.2.3 Rational Rose:可视化建模工具
1.3 面向对象开发中的核心思想和概念
1.3.1 问题领域、对象、属性、状态、行为、方法、实现
1.3.2 类、类型
1.3.3 消息、服务
1.3.4 接口
1.3.5 封装、透明
1.3.6 抽象
1.3.7 继承、扩展、覆盖
1.3.8 组合
1.3.9 多态、动态绑定
1.4 UML语言简介
1.4.1 用例图
1.4.2 类框图
1.4.3 时序图
1.4.4 协作图
1.4.5 状态转换图
1.4.6 组件图
1.4.7 部署图
1.5 类之间的关系
1.5.1 关联(Association)
1.5.2 依赖(Dependency)
1.5.3 聚集(Aggregation)
1.5.4 泛化(Generalization)
1.5.5 实现(Realization)
1.5.6 区分依赖、关联和聚集关系
1.6 实现Panel系统
1.6.1 扩展Panel系统
1.6.2 用配置文件进一步提高Panel系统的可维护性
1.6.3 运行Panel系统
1.7 小结
1.8 思考题
第2章 第一个Java应用
2.1 创建Java源文件
2.1.1 Java源文件结构
2.1.2 包声明语句
2.1.3 包引入语句
2.1.4 方法的声明
2.1.5 程序入口main()方法的声明
2.1.6 给main()方法传递参数
2.1.7 注释语句
2.1.8 关键字
2.1.9 标识符
2.1.10 编程规范
2.2 用JDK管理Java应用
2.2.1 JDK简介
2.2.2 编译Java源文件
2.2.3 运行Java程序
2.2.4 给Java应用打包
2.3 JavaDoc文档
2.3.1 JavaDoc标记
2.3.2 javadoc命令的用法
2.4 Java虚拟机的运行时数据区
2.5 小结
2.6 思考题
第3章 数据类型和变量
3.1 基本数据类型
3.1.1 boolean类型
3.1.2 byte、short、int和long类型
3.1.3 char类型与字符编码
3.1.4 float和double类型
3.2 引用类型
3.2.1 基本类型与引用类型的区别
3.2.2 用new关键字创建对象
3.3 变量的作用域
3.3.1 静态变量和实例变量的生命周期
3.3.2 局部变量的生命周期
3.3.3 成员变量和局部变量同名
3.3.4 将局部变量的作用域最小化
3.4 对象的默认引用:this
3.5 参数传递
3.6 变量的初始化及默认值
3.6.1 成员变量的初始化
3.6.2 局部变量的初始化
3.7 直接数
3.7.1 直接数的类型
3.7.2 直接数的赋值
3.8 小结
3.9 思考题
第4章 操 作 符
4.1 操作符简介
4.2 整型操作符
4.2.1 一元整型操作符
4.2.2 二元整型操作符
4.3 浮点型操作符
4.4 比较操作符和逻辑操作符
4.5 三元操作符“?:”
4.6 字符串连接操作符“+”
4.7 操作符“==”与对象的equals()方法
4.7.1 操作符“==”
4.7.2 对象的equals()方法
4.8 instanceof 操作符
4.9 变量的赋值和类型转换
4.9.1 基本数据类型转换
4.9.2 引用类型的类型转换
4.10 小结
4.11 思考题
第5章 流 程 控 制
5.1 分支语句
5.1.1 if…else语句
5.1.2 switch语句
5.2 循环语句
5.2.1 while语句
5.2.2 do…while语句
5.2.3 for语句
5.2.4 多重循环
5.3 流程跳转语句
5.4 综合例子:八皇后问题
5.5 小结
5.6 思考题
第6章 继 承
6.1 继承的基本语法
6.2 方法重载(Overload)
6.3 方法覆盖(Override)
6.4 方法覆盖与方法重载的异同
6.5 super关键字
6.6 多态
6.7 继承的利弊和使用原则
6.7.1 继承树的层次不可太多
6.7.2 继承树的上层为抽象层
6.7.3 继承关系最大的弱点:打破封装
6.7.4 精心设计专门用于被继承的类
6.7.5 区分对象的属性与继承
6.8 比较组合与继承
6.8.1 组合关系的分解过程对应继承关系的抽象过程
6.8.2 组合关系的组合过程对应继承关系的扩展过程
6.9 小结
6.9 思考题
第7章 Java语言中的修饰符
7.1 访问控制修饰符
7.2 abstract修饰符
7.3 final修饰符
7.3.1 final类
7.3.2 final方法
7.3.3 final变量
7.4 static修饰符
7.4.1 static变量
7.4.2 static方法
7.4.3 static代码块
7.5 小结
7.6 思考题
第8章 接 口
8.1 接口的概念和基本特征
8.2 比较抽象类与接口
8.3 与接口相关的设计模式
8.3.1 定制服务模式
8.3.2 适配器模式
8.3.3 默认适配器模式
8.3.4 代理模式
8.3.5 标识类型模式
8.3.6 常量接口模式
8.4 小结
8.5 思考题
第9章 异 常 处 理
9.1 Java异常处理机制概述
9.1.1 Java异常处理机制的优点
9.1.2 Java虚拟机的方法调用栈
9.1.3 异常处理对性能的影响
9.2 运用Java异常处理机制
9.2.1 try…catch语句:捕获异常
9.2.2 finally语句:任何情况下必须执行的代码
9.2.3 throws子句:声明可能会出现的异常
9.2.4 throw语句:抛出异常
9.2.5 异常处理语句的语法规则
9.2.6 异常流程的运行过程
9.3 Java异常类
9.3.1 运行时异常
9.3.2 受检查异常
9.3.3 区分运行时异常和受检查异常
9.4 用户定义异常
9.4.1 异常转译和异常链
9.4.2 处理多样化异常
9.5 异常处理原则
9.5.1 异常只能用于非正常情况
9.5.2 为异常提供说明文档
9.5.3 尽可能地避免异常
9.5.4 保持异常的原子性
9.5.5 避免过于庞大的try代码块
9.5.6 在catch子句中指定具体的异常类型
9.5.7 不要在catch代码块中忽略被捕获的异常
9.6 小结
9.7 思考题
第10章 类的生命周期
10.1 Java虚拟机及程序的生命周期
10.2 类的加载、连接和初始化
10.2.1 类的加载
10.2.2 类的验证
10.2.3 类的准备
10.2.4 类的解析
10.2.5 类的初始化
10.2.6 类的初始化的时机
10.3 类加载器
10.3.1 类加载的父亲委托(Parent Delegation)机制
10.3.2 创建用户自定义的类加载器
10.3.3 URLClassLoader类
10.4 类的卸载
10.5 小结
10.6 思考题
第11章 对象的生命周期
11.1 创建对象的方式
11.2 构造方法
11.2.1 重载构造方法
11.2.2 默认构造方法
11.2.3 子类调用父类的构造方法
11.2.4 构造方法的作用域
11.2.5 构造方法的访问级别
11.3 静态工厂方法
11.3.1 单例(Singleton)类
11.3.2 枚举类
11.3.3 不可变(immutable)类与可变类
11.3.4 具有实例缓存的不可变类
11.3.5 松耦合的系统接口
11.4 垃圾回收
11.4.1 对象的可触及性
11.4.2 垃圾回收的时间
11.4.3 对象的finalize()方法简介
11.4.4 对象的finalize()方法的特点
11.4.5 比较finalize()方法和finally代码块..
11.5 清除过期的对象引用
11.6 对象的强、软、弱和虚引用
11.7 小结
11.8 思考题
第12章 内 部 类
12.1 内部类的基本语法
12.1.1 实例内部类
12.1.2 静态内部类
12.1.3 局部内部类
12.2 内部类的继承
12.3 子类与父类中的内部类同名
12.4 匿名类
12.5 内部接口及接口中的内部类
12.6 内部类的用途
12.6.1 封装类型
12.6.2 直接访问外部类的成员
12.6.3 回调(CallBack)
12.7 内部类的类文件
12.8 小结
12.9 思考题
第13章 多 线 程
13.1 Java线程的运行机制
13.2 线程的创建和启动
13.2 线程的创建和启动
13.2.1 扩展java.lang.Thread类
13.2.2 实现Runnable接口
13.3 线程的状态转换
13.3.1 新建状态(New)
13.3.2 就绪状态(Runnable)
13.3.3 运行状态(Running)
13.3.4 阻塞状态(Blocked )
13.3.5 死亡状态(Dead)
13.4 线程调度
13.4.1 调整各个线程的优先级
13.4.2 线程睡眠:Thread.sleep()方法
13.4.3 线程让步:Thead.yield()方法
13.4.4 等待其他线程结束:join()
13.5 获得当前线程对象的引用
13.6 后台线程
13.7 定时器Timer
13.8 线程的同步
13.8.1 同步代码块
13.8.2 线程同步的特征
13.8.3 同步与并发
13.8.4 线程安全的类
13.8.5 释放对象的锁
13.8.6 死锁
13.9 线程通信
13.10 中断阻塞
13.11 线程控制
13.11.1 被废弃的suspend()和resume()方法
13.11.2 被废弃的stop()方法
13.11.3 以编程的方式控制线程
13.12 线程组
13.13 处理线程未捕获的异常
13.14 ThreadLocal类
13.15 小结
13.16 思考题
第14章 数 组
14.1 数组变量的声明
14.2 创建数组对象
14.3 访问数组的元素和长度
14.4 数组的初始化
14.5 多维数组
14.6 调用数组对象的方法
14.7 把数组作为方法参数或返回值
14.8 数组排序
14.9 数组的二叉查找算法
14.10 哈希表
14.11 数组实用类:Arrays
14.12 小结
14.13 思考题
第15章 Java集合
15.1 Collection和Iterator接口
15.2 Set(集)
15.2.1 Set的一般用法
15.2.2 HashSet类
15.2.3 TreeSet类
15.3 List(列表)
15.3.1 访问列表的元素
15.3.2 为列表排序
15.3.3 ListIterator接口
15.3.4 获得固定长度的List对象
15.3.5 比较Java数组和各种List的性能
15.4 Map(映射)
15.5 HashSet和HashMap的负载因子
15.6 集合的编译时类型检查
15.7 用for循环遍历集合
15.8 集合实用类:Collections
15.9 历史集合类
15.10 小结
15.11 思考题
第16章 Java I/O系统
16.1 输入流和输出流概述
16.2 输入流
16.2.1 字节数组输入流:ByteArrayInputStream类
16.2.2 文件输入流:FileInputStream类
16.2.3 字符串输入流:StringBufferInputStream
16.2.4 管道输入流:PipedInputStream
16.2.5 顺序输入流:SequenceInputStream类
16.3 过滤输入流:FilterInputStream
16.3.1 装饰器设计模式
16.3.2 过滤输入流的种类
16.3.3 DataInputStream类
16.3.4 LineNumberInputStream类
16.3.5 BufferedInputStream类
16.3.6 PushbackInputStream类
16.4 输出流
16.4.1 字节数组输出流:ByteArrayOutputStream类
16.4.2 文件输出流:FileOutputStream
16.5 过滤输出流:FilterOutputStream
16.5.1 DataOutputStream
16.5.2 BufferedOutputStream
16.5.3 PrintStream类
16.6 Reader/Writer概述
16.7 Reader类
16.7.1 字符数组输入流:CharArrayReader类
16.7.2 字符串输入流:StringReader类
16.7.3 InputStreamReader类
16.7.4 FileReader类
16.7.5 BufferedReader类
16.8 Writer类
16.8.1 字符数组输出流:CharArrayWriter类
16.8.2 OutputStreamWriter类
16.8.3 FileWriter类
16.8.4 BufferedWriter类
16.8.5 PrintWriter类
16.9 标准I/O
16.9.1 重新包装标准输入和输出
16.9.2 标准I/O重定向
16.10 随机访问文件类:RandomAccessFile
16.11 新I/O类库
16.11.1 缓冲器Buffer概述
16.11.2 通道Channel概述
16.11.3 字符编码Charset类概述
16.11.4 用FileChannel读写文件
16.11.5 控制缓冲区
16.11.6 字符编码转换
16.11.7 缓冲区视图
16.11.8 文件映射缓冲区:MappedByteBuffer
16.11.9 文件加锁
16.12 对象的序列化与反序列化
16.13 File类
16.13.1 查看、创建和删除文件或目录
16.13.2 文件过滤器
16.14 小结
16.15 思考题
第17章 图形用户界面
17.1 AWT容器
17.2 布局管理器
17.2.1 FlowLayout流式布局管理器
17.2.2 BorderLayout边界布局管理器
17.2.3 GridLayout网格布局管理器
17.2.4 CardLayout卡片布局管理器
17.2.5 GridBagLayout网格包布局管理器
17.3 事件处理
17.3.1 事件处理的软件实现
17.3.2 事件源﹑事件和监听器的类层次和关系
17.4 AWT绘图
17.5 Graphics类
17.6 小结
17.7 思考题
第18章 Swing组件
18.1 Swing组件的基本用法
18.2 边框
18.3 按钮组件
18.4 文本框
18.5 文本区域与滚动面板
18.6 复选框与单选按钮
18.7 下拉列表
18.8 列表框
18.9 页签面板
18.10 菜单
18.11 对话框
18.12 文件对话框
18.13 消息框
18.14 绘图
18.15 JApplet
18.16 在JApplet中播放声音
18.17 BoxLayout布局管理器
18.18 设置Swing界面的外观和感觉
18.19 小结
18.20 思考题
第19章 Java常用类
19.1 Object 类
19.2 String类和StringBuffer类
19.2.1 String类
19.2.2 “hello”与new String("hello")的区别
19.2.3 StringBuffer类
19.2.4 比较String类与StringBuffer类
19.2.5 正则表达式
19.3 包装类
19.3.1 包装类的构造方法
19.3.2 包装类的常用方法
19.3.3 包装类的特点
19.4 Math类
19.5 Random类
19.6 处理日期的类
19.6.1 Date类
19.6.2 DateFormat类
19.6.3 Calendar类
19.7 BigDecimal类
19.8 小结
19.9 思考题
参考文献...
在3G蜂窝系统的空中接口方面备受高度认可的《WCDMA技术与系统设计》一书,经过了再次全面的修订和更新,第3版涵盖了3GPPRelease6
作者简介:中嶋谦互从小学开始学习游戏编程,进入大学后正式参与游戏开发。1996年开发了世界上第一款使用JavaApplet的MMORPG,19
黑客大曝光网络安全机密与解决方案 本书特色 (1)本书是在前6版的基础上(前期产品累计销售超20万册)对内容进行全面更新和扩充,相信本书(第7版)一定能够延续前...
软件设计师2009至2014年试题分析与解答-全国计算机技术与软件专业技术资格(水平)考试指定用书 本书特色软件设计师级考试是全国计算机技术与软件专业技术资格(...
《R语言数据分析与挖掘实战》内容简介:本书共16章,分三个部分:基础篇、实战篇、提高篇。基础篇介绍了数据挖掘的基本原理,实战篇
《永不下线:后数字时代的生存法则》内容简介:如今许多企业面临移动互联时代下的转型问题,他们的思路还停留在“以线下为主体,灵
《法治无禁区》内容简介:本书是作者在一线办案的思考与总结,紧密结合当下的司法改革实践,与*前沿的司法理念接轨。不忘初心,面向
《DSP原理及其C编程开发技术》可作为电子、通信、自动化及计算机工程专业高年级本科生或研究生学习DSP的教材,也可作为专业工程技
《写给系统管理员的Python脚本编程指南》内容简介:本书是一本介绍Python编程的进阶图书,包含了大量关于Python脚本设计的主题。本
《摄影造型解析》内容简介:《摄影造型解析》作者董介人系南师大徐悲鸿教育奖获得者。本书作者以该校摄影专业研究生课的基础,加以
《微视,这么玩才赚钱!》内容简介:这是一本介绍个人如何利用微视创业(赚钱)、企业如何通过微视迅速提升经营业绩(赚更多钱)的
Aninvigorating,thought-provoking,andpositivelookattheriseofautomationthatexplore...
《国语》内容简介:本书相传为春秋时期鲁国史官左丘明所作。全书共21卷,分别记载了西周末年至春秋时期(约BC967—BC453)周、鲁、
《网站入侵与脚本攻防修炼》从“攻”、“防”两个角度,通过现实中的入侵实例,并结合原理性的分析,图文并茂地展现网站入侵与防
ThiscomprehensiveguideshowsyouhowtomasterthemostimportantchangestoJavasinceitwas...
《机器学习算法(原书第2版)》内容简介:本书介绍了数据科学领域常用的所有重要机器学习算法以及TensorFlow和特征工程等相关内容。
《区域(2016年第2辑/总第6辑)》内容简介:本辑内容涉及:在广阔的世界关系中阐释中国“史”的传统及其意义;讨论欧洲民族国家兴起
《战后在华日本侨俘遣返研究》内容简介:抗战胜利后,中国政府遣返滞留中国的约370万名日本侨俘,即使在解放战争期间遣返工作也未停
StevenJohnMetsker是DominionDigital公司的管理顾问,该公司负责信息技术与商业过程的重新设计。Steven擅长运用面向对象技术构建
《中古社会变迁与隋唐史研究(上下册)》内容简介:本书是吴宗国先生从教六十周年纪念论文集,分上下两册。上册研究篇,汇集了历年