JAVA编程思想

JAVA编程思想
作 者: (美)Bruce Eckel著;京京工作室译
出版社: 机械工业出版社
丛编项: 计算机科学丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Java
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:BruceEckelBruceEckel从1986年至今,已经发表了超过150篇计算机技术文章,出版了6本书(其中4本是关于C++的),并且在全世界做了数百次演讲。他是《ThinkinginJava》、《ThinkinginC++》、《C++Inside&Out》《UsingC++》和《ThinkinginPatterns》的作者,同时还是《BlackBeltC++》文集的编辑。他的《ThinkinginC++》一本书在1995年被评为“最佳软件开发图书”,《ThinkinginJava》被评为1999年JavaWorld“最爱读者欢迎图书”,并且赢得了编辑首选图书奖。C++编程思想第2卷:实用编程技术>>更多作品

内容简介

本书指导读者利用Java语言进行面向对象的程序设计,详细介绍了Java的基本语法及它的高级特性(网络编程、高级面向对象能力、多线程),系统地讲述了Java的高级理论,形象地阐述了面向对象基本理论。书中包括320个有用的Java程序,15000余行代码,这些短小精悍的程序示例有助于读者理解含义模糊的概念。本书适用于进行万维网编程和网页设计的程序员和计算机爱好者,也可作为大专院校相关专业的教学参考书。

图书目录

前言

第1章 对象入门

1.1 抽象的进步

1.2对象的接口

1.3实现方案的隐藏

1.4方案的重复使用

1.5继承:重新使用接口

1.5.1改善基础类

1.5.2等价与类似关系

1.6多形对象的互换使用

1.6.1动态绑定

1.6.2抽象的基础类和接口

1.7 对象的创建和存在时间

1.7.1集合与继承器

1.7.2单根结构

1.7.3集合库与方便使用集合

1.7.4清除时的困境:由谁负责清除?

1.8违例控制:解决错误

1.9多线程

1.10永久性

1.11Java和因特网

1.11.1什么是Web

1.11.2客户端编程

1.11.3服务器端编程

1.11.4一个独立的领域:应用程序

1.12分析和设计

1.12.1不要迷失

1.12.2阶段0:拟出一个计划

1.12.3阶段1:要制作什么

1.12.4阶段2:如何构建

1.12.5阶段3:开始创建

1.12.6阶段4:校订

1.12.7计划的回报

1.13Java还是C++

第2章 一切都是对象

2.1用句柄操纵对象

2.2所有对象都必须创建

2.2.1保存到什么地方

2.2.2特殊情况:主要类型

2.2.3Java的数组

2.3绝对不要清除对象

2.3.1作用域

2.3.2对象的作用域

2.4新建数据类型:类

2.5方法、自变量和返回值

2.6构建Java程序

2.6.1名字的可见性

2.6.2使用其他组件

2.6.3static关键字

2.7我们的第一个Java程序

2.8注释和嵌入文档

2.8.1注释文档

2.8.2具体语法

2.8.3嵌入HTML

2.8.4@see:引用其他类

2.8.5类文档标记

2.8.6变量文档标记

2.8.7方法文档标记

2.8.8文档示例

2.9编码样式

2.10总结

2.11练习

第3章 控制程序流程

3.1使用Java运算符

3.1.1优先级

3.1.2赋值

3.1.3算术运算符

3.1.4自动递增和递减

3.1.5关系运算符

3.1.6逻辑运算符

3.1.7按位运算符

3.1.8移位运算符

3.1.9三元if-else运算符

3.1.10逗号运算符

3.1.11字串运算符+

3.1.12运算符常规操作规则

3.1.13造型运算符

3.1.14 Java没有“sizeof”

3.1.15复习计算顺序

3.1.16运算符总结

3.2执行控制

3.2.1真和假

3.2.2if-else

3.2.3反复

3.2.4do-while

3.2.5for

3.2.6中断和继续

3.2.7开关

3.3总结

3.4练习

第4章 初始化和清除

4.1用构建器自动初始化

4.2方法过载

4.2.1区分过载方法

4.2.2主类型的过载

4.2.3返回值过载

4.2.4默认构建器

4.2.5 this关键字

4.3清除:收尾和垃圾收集

4.3.1 finalize()用途何在

4.3.2必须执行清除

4.4成员初始化

4.4.1规定初始化

4.4.2构建器初始化

4.5数组初始化

4.6总结

4.7 练习

第5章 隐藏实施过程

5.1包:库单元

5.1.1创建独一无二的包名

5.1.2自定义工具库

5.1.3利用导入改变行为

5.1.4包的停用

5.2Java访问指示符

5.2.1“友好的”

5.2.2public:接口访问

5.2.3private:不能接触

5.2.4protected:“友好的一种”

5.3接口与实现

5.4类访问

5.5总结

5.6练习

第6章 类再生

6.1合成的语法

6.2继承的语法

6.3合成与继承的结合

6.3.1确保正确的清除

6.3.2名字的隐藏

6.4到底选择合成还是继承

6.5protected

6.6累积开发

6.7上溯造型

6.8final关键字

6.8.1final数据

6.8.2final方法

6.8.3final类

6.8.4final的注意事项

6.9初始化和类装载

6.10总结

6.11练习

第7章 多形性

7.1上溯造型

7.2深入理解

7.2.1方法调用的绑定

7.2.2产生正确的行为

7.2.3扩展性

7.3覆盖与过载

7.4抽象类和方法

7.5接口

7.5.1Java的“多重继承”

7.5.2通过继承扩展接口

7.5.3常数分组

7.5.4初始化接口中的字段

7.6 内部类

7.6.1内部类和上溯造型

7.6.2方法和作用域中的内部类

7.6.3链接到外部类

7.6.4static内部类

7.6.5引用外部类对象

7.6.6从内部类继承

7.6.7内部类可以覆盖吗?

7.6.8内部类标识符

7.6.9为什么要用内部类:控制框架

7.7构建器和多形性

7.7.1构建器的调用顺序

7.7.2继承和finalize()

7.7.3构建器内部的多形性方法的行为

7.8通过继承进行设计

7.8.1纯继承与扩展

7.8.2下溯造型与运行期类型标识

7.9 总结

7.10 练习

第8章 对象的容纳

8.1数组

8.1.1数组和第一类对象

8.1.2数组的返回

8.2集合

8.3枚举器(反复器)

8.4集合的类型

8.4.1Vector

8.4.2BitSet

8.4.3Stack

8.4.4Hashtable

8.4.5再论枚举器

8.5排序

8.6通用集合库

8.7新集合

8.7.1使用Collections

8.7.2使用Lists

8.7.3使用Sets

8.7.4使用Maps

8.7.5决定实施方案

8.7.6未支持的操作

8.7.7排序和搜索

8.7.8实用工具

8.8总结

8.9练习

第9章 违例差错控制

9.1基本违例

9.2违例的捕获

9.2.1try块

9.2.2违例控制器

9.2.3违例规范

9.2.4捕获所有违例

9.2.5重新“掷”出违例

9.3标准Java违例

9.4创建自己的违例

9.5违例的限制

9.6用finally清除

9.6.1用finally做什么?

9.6.2缺点:丢失的违例

9.7构建器

9.8违例匹配

9.9总结

9.10练习

第10章 JavaIO系统

10.1输入和输出

10.1.1InputStream的类型

10.1.2OutputStream的类型

10.2增添属性和有用的接口

10.2.1通过FilterInputStream从InputStream里读人数据

10.2.2通过FilterOutputStream向Output Strea-m里写入数据

10.3本身的缺陷:RandomAccessFile

10.4File类

10.4.1目录列表器

10.4.2检查与创建目录

10.5IO流的典型应用

10.5.1输入流

10.5.2输出流

10.5.3快捷文件处理

10.5.4从标准输入中读取数据

10.5.5管道数据流

10.6StreamTokenizer

10.7Java1.1的IO流

10.7.1数据的发起与接收

10.7.2修改数据流的行为

10.7.3未改变的类

10.7.4 一个例子

10.7.5重导向标准IO

10.8压缩

10.8.1用GZIP进行简单压缩

10.8.2用Zip进行多文件保存

10.8.3Java归档(jar)实用程序

10.9对象序列化

10.9.1寻找类

10.9.2序列化的控制

10.9.3利用“持久性”

10.10 总结

10.11练习

第11章 运行期类型鉴定

11.1对RTTI的需要

11.1.1Class对象

11.1.2造型前的检查

11.2RTTI语法

11.3反射:运行期类信息

11.4总结

11.5练习

第12章 传递和返回对象

12.1传递句柄

12.2制作本地副本

12.2.1按值传递

12.2.2克隆对象

12.2.3使类具有克隆能力

12.2.4成功的克隆

12.2.5Object.clone()的效果

12.2.6克隆合成对象

12.2.7用Vector进行深层复制

12.2.8通过序列化进行深层复制

12.2.9使克隆具有更大的深度

12.2.10为什么有这个奇怪的设计

12.3克隆的控制

12.4只读类

12.4.1创建只读类

12.4.2“一成不变”的弊端

12.4.3不变字串

12.4.4String和String Buffer类

12.4.5字串的特殊性

12.5总结

12.6练习

第13章 创建窗口和程序片

13.1为何要用AWT?

13.2基本程序片

13.2.1程序片的测试

13.2.2一个更图形化的例子

13.2.3框架方法的演示

13.3制作按钮

13.4捕获事件

13.5文本字段

13.6文本区域

13.7标签

13.8复选框

13.9单选钮

13.10下拉列表

13.11列表框

13.12布局的控制

13.12.1FlowLayout

13.12.2BorderLayout

13.12.3GridLayout

13.12.4CardLayout

13.12.5GridBagLayout

13.13action的替代品

13.14程序片的局限

13.15视窗化应用

13.15.1菜单

13.15.2对话框

13.16新型AWT

13.16.1新的事件模型

13.16.2事件和接收者类型

13.16.3用Java1.1AWT制作窗口和程序片

13.16.4再研究一下以前的例子

13.16.5动态绑定事件

13.16.6将事务逻辑与UI逻辑区分开

13.16.7推荐编码方法

13.17Java1.1用户接口API

13.17.1桌面颜色

13.17.2打印

13.17.3剪贴板

13.18可视编程和Beans

13.18.1什么是Bean?

13.18.2用Introspector提取BeanInfo

13.18.3一个更复杂的Bean

13.18.4Bean的封装

13.18.5更复杂的Bean支持

13.18.6Bean更多的知识

13.19Swing入门

13.19.1Swing有哪些优点

13.19.2方便的转换

13.19.3功能框架

13.19.4功能提示

13.19.5边框

13.19.6按钮

13.19.7按钮组

13.19.8图标

13.19.9菜单

13.19.10弹出式菜单

13.19.11列表框和组合框

13.19.12滑块和进程条

13.19.13树

13.19.14表格

13.19.15卡片式对话框

13.19.16Swing消息框

13.19.17Swing更多的知识

13.20 总结

13.21 练习

第14章 多线程

14.1反应灵敏的用户界面

14.1.1从线程继承

14.1.2针对用户界面的多线程

14.1.3用主类合并线程

14.1.4制作多个线程

14.1.5Daemon线程

14.2共享有限的资源

14.2.1资源访问的错误方法

14.2.2Java如何共享资源

14.2.3回顾JavaBeans

14.3堵塞

14.3.1为何会堵塞

14.3.2死锁

14.4优先级

14.5回顾runnable

14.6总结

14.7练习

第15章 网络编程

15.1机器的标识

15.1.1服务器和客户机

15.1.2端口:机器内独一无二的场所

15.2套接字

15.3服务多个客户

15.4数据报

15.5一个Web应用

15.5.1服务器应用

15.5.2NameSender程序片

15.5.3要注意的问题

15.6Java与CGI的沟通

15.6.1CGI数据的编码

15.6.2程序片

15.6.3用C++写的CGI程序

15.6.4POST的概念

15.7用JDBC连接数据库

15.7.1让示例运行起来

15.7.2查找程序的GUI版本

15.7.3JDBCAPI为何如此复杂

15.8远程方法

15.8.1远程接口概念

15.8.2远程接口的实施

15.8.3创建根与干

15.8.4使用远程对象

15.8.5RMI的替选方案

15.9总结

15.10练习

第16章 设计范式

16.1范式的概念

16.1.1单子

16.1.2范式分类

16.2观察器范式

16.3模拟垃圾回收站

16.4改进设计

16.4.1“制作更多的对象”

16.4.2用于原型创建的一个范式

16.5抽象的应用

16.6多重派遣

16.7访问器范式

16.8RTTI真的有害吗?

16.9总结

16.10练习

第17章 项目

17.1文字处理

17.1.1提取代码列表

17.1.2检查大小写样式

17.2方法查找工具

17.3复杂性理论

17.4总结

17.5练习

附录A 使用非Java代码

附录B C++和Java的对比

附录CJava编程规则

附录D 性能

附录E 关于垃圾收集的一些话