本书是Sun公司指定Java教程的最新版。书中除了讲解面向对象的编程概念、语言基础、类和对象、接口和继承、包、数字和字符串、异常、基本I/O、集合、并发、Swing、把程序打包到JAR文件中、applet之外,还介绍了Java Web Start、平台环境和正则表达式,同时涵盖了Java 5.0和6.0引入的新特性,比如泛型和并发、注解。附录B中还给出如何准备Java编程语言认证考试方面的内容。此外,本书配套的网上资源还包含本书的示例以及问题和练习的答案、在线Java SE指南、Java SE开发工具包(Java SE Development Kit,JDK)、相应的API规范和指导文档等。 \r\n 本书既适合作为高校相关专业Java程序设计语言课程的教材,也适合各种层次的Java程序员阅读。
第1章 入门\r\n 1.1 Java技术现象 \r\n 1.2 “Hello World!”应用程序\r\n 1.3 分析“Hello World!”应用程序 \r\n 1.4 常见问题(和解决方案) \r\n 问题和练习:入门 \r\n第2章 面向对象的编程概念 \r\n 2.1 对象是什么 \r\n 2.2 类是什么 \r\n 2.3 继承是什么 \r\n 2.4 接口是什么 \r\n 2.5 包是什么 \r\n 问题和练习:面向对象的编程概念 \r\n第3章 语言基础 \r\n 3.1 变量 \r\n 问题和练习:变量 \r\n 3.2 操作符 \r\n 问题和练习:操作符 \r\n 3.3 表达式、语句和块 \r\n 问题和练习:表达式、语句和块 \r\n 3.4 控制流语句 \r\n 问题和练习:控制流语句 \r\n第4章 类和对象 \r\n 4.1 类 \r\n 4.2 对象 \r\n 4.3 关于类的更多介绍 \r\n 问题和练习:类 \r\n 问题和练习:对象 \r\n 4.4 嵌套类 \r\n 问题和练习:嵌套类 \r\n 4.5 枚举类型 \r\n 问题和练习:枚举类型\r\n 4.6 注解 \r\n 问题和练习:注解 \r\n第5章 接口和继承 \r\n 5.1 接口 \r\n 问题和练习:接口 \r\n 5.2 继承\r\n 问题和练习:继承 \r\n第6章 泛型 \r\n 6.1 简介 \r\n 6.2 泛型类型 \r\n 6.3 泛型方法和构造器 \r\n 6.4 受限类型参数 \r\n 6.5 子类型化 \r\n 6.6 通配符 \r\n 6.7 类型擦除 \r\n 6.8 泛型小结 \r\n 问题和练习:泛型 \r\n第7章 包 \r\n 7.1 创建和使用包 \r\n 问题和练习:创建和使用包 \r\n第8章 数字和字符串 \r\n 8.1 数字 \r\n 问题和练习:数字 \r\n 8.2 字符 \r\n 8.3 字符串 \r\n 问题和练习:字符和字符串 \r\n第9章 异常 \r\n 9.1 异常是什么 \r\n 9.2 捕获或者指定需求 \r\n 9.3 捕获和处理异常 \r\n 9.4 指定方法抛出的异常 \r\n 9.5 如何抛出异常 \r\n 9.6 关于不可控异常的争论 \r\n 9.7 异常的优点 \r\n 9.8 小结 \r\n 问题和练习:异常 \r\n第10章 基本I/O \r\n 10.1 I/O流 \r\n 10.2 文件I/O \r\n 10.3 新I/O包 \r\n 10.4 小结 \r\n 问题和练习:基本I/O \r\n第11章 集合 \r\n 11.1 集合简介 \r\n 11.2 接口 \r\n 问题和练习:接口 \r\n 11.3 实现 \r\n 问题和练习:实现 \r\n 11.4 算法 \r\n 11.5 定制集合实现 \r\n 11.6 互操作性 \r\n第12章 并发 \r\n 12.1 进程和线程 \r\n 12.2 Thread对象 \r\n 12.3 同步 \r\n 12.4 活性 \r\n 12.5 保护块 \r\n 12.6 不可变对象 \r\n 12.7 高级并发对象 \r\n 12.8 推荐阅读 \r\n 问题和练习:并发\r\n第13章 正则表达式 \r\n 13.1 简介 \r\n 13.2 测试示例 \r\n 13.3 字符串字面量 \r\n 13.4 字符类 \r\n 13.5 预定义字符类 \r\n 13.6 量词 \r\n 13.7 捕获组 \r\n 13.8 边界匹配器 \r\n 13.9 Pattern类的方法 \r\n 13.10 Matcher类的方法 \r\n 13.11 PatternSyntaxException类的方法 \r\n 13.12 小结 \r\n 13.13 附加资源 \r\n 问题和练习:正则表达式 \r\n第14章 平台环境 \r\n 14.1 配置工具 \r\n 14.2 系统工具 \r\n 14.3 PATH和CLASSPATH \r\n 问题和练习:平台环境 \r\n第15章 Swing \r\n 15.1 Swing包概述 \r\n 15.2 Swing的特性 \r\n 问题和练习:图形化用户界面 \r\n第16章 把程序打包到JAR文件中 \r\n 16.1 使用JAR文件:基础 \r\n 16.2 处理清单文件:基础 \r\n 16.3 JAR文件的签名和验证 \r\n 16.4 使用和JAR相关的API \r\n 问题和练习:JAR文件 \r\n第17章 Java Web Start \r\n 17.1 运行Java Web Start应用程序 \r\n 17.2 部署Java Web Start应用程序 \r\n 17.3 开发Java Web Start应用程序 \r\n 17.4 JNLP API \r\n 17.5 Java Web Start和安全 \r\n 17.6 常见的Java Web Start问题 \r\n 问题和练习:Java Web Start \r\n第18章 applet \r\n 18.1 applet入门 \r\n 18.2 利用applet API的优势 \r\n 18.3 编写applet时的考虑事项 \r\n 18.4 完成applet \r\n 18.5 部署applet \r\n 18.6 解决常见的applet问题 \r\n 问题和练习:Java applet \r\n附录A Java语言关键字 \r\n附录B Java编程语言认证考试的准备 \r\n索引 \r\n本书配套资源 \r\n问题和练习答案(图灵网站下载)
自从最初的JDK(Java Development Kit,Java开发工具包)于1995年5月发布以来,Sun公司的工程人员为改进和增强Java平台付出了艰苦的努力。本版与Java SE(Java Platform Standard Edition,Java平台标准版)6相一致,并且反映了这一版本的API。
本版介绍了从第3版(对应Java SE 1.3)出版以来Java平台添加的新特性,比如介绍泛型和注解的一章(第6章)。还有关于Java Web Start(第17章)、平台环境(第14章)和正则表达式(第13章)的几章。并发(原来的“线程”)(第12章)、I/O(第10章)、面向对象的编程概念(第2章)和语言基础(第3章)这几章都完全重新编写了。集合(第11章)从附录中提取出来成为独立的一章。新的附录B包含如何准备Java编程语言认证(Java Programming Language Certification)考试的信息。
本书的所有资料都经过了Sun公司Java开发人员的仔细审核,以便确保信息是准确的和最新的。
和前几版一样,本书以Sun公司网站上的在线教程为基础:
http://java.sun.com/docs/books/tutorial/
本书包含的信息(经常被称为“核心教程”或者“基础”)针对初级到中级程序设计人员的需要。掌握了本书的内容之后,读者可以在该网站上学习Java平台的其他知识。
像以往一样,我们的目的是编写容易阅读的实用程序员指南,并且用很多示例帮助读者理解程序。
■本书面向的读者
本书既适合初学者,也适合有经验的程序员。
●新程序员通过从头到尾阅读本书可以得到最大的收获,包括按照第1章中的分步讲解编译和运行自己的第一个程序。
●具有过程式语言(比如C)经验的程序员可以从Java编程语言的面向对象概念和特性开始学习。
●经验丰富的程序员可以跳到更高级的主题,比如关于泛型、并发或者Java Web Start的内容。
本书包含的内容可以满足各种不同经验的程序员的学习需要。
■如何使用本书
本书的设计方式使读者既可以通读,也可以在各主题之间跳转。信息按照逻辑的顺序编排,并且尽可能避免向前引用。
书中的示例是在6.0版本下编译的。为了编译和运行大多数示例,读者需要下载这个版本。
本书的网上下载资源包含本书英文原版的内容 (包括示例,还有问题和练习的答案 ),以及在线Java SE教程、Java SE开发工具包(Java SE Development Kit,JDK) 、相应的API规范和指导文档 。
在本书中你会看到这样的脚注:
docs/api/java/lang/Class.html
和
tutorial/deployment/applet/examples/TalkServer.java
根目录包含docs和tutorial目录,所以能在指定的位置找到这些脚注。要想定位到最新的在线页面,在docs脚注前面加http://java.sun.com/javase/6/;在tutorial脚注前面加http://java.sun.com/docs/books/即可:
http://java.sun.com/javase/6/docs/api/java/lang/Class.html
http://java.sun.com/docs/books/tutorial/deployment/applet/examples/TalkServer.java
本书英文原版的章节在网上下载资源的下列位置:
章 位 置
第1章 入门 tutorial/getStarted
第2章 面向对象的编程概念 tutorial/java/concepts
第3章 语言基础 tutorial/java/nutsandbolts
第4章 类和对象 tutorial/java/javaOO
第5章 接口和继承 tutorial/java/IandI
第6章 泛型 tutorial/java/generics
第7章 包 tutorial/java/package
第8章 数字和字符串 tutorial/java/data
第8章 数字和字符串 tutorial/java/data
第9章 异常 tutorial/essential/exceptions
第10章 基本I/O tutorial/essential/io
第11章 集合 tutorial/collections
第12章 并发 tutorial/essential/concurrency
第13章 正则表达式 tutorial/essential/regex
第14章 平台环境 tutorial/essential/environment
第15章 Swing tutorial/ui
第16章 把程序打包到JAR文件中 tutorial/deployment/jar
第17章 Java Web Start tutorial/deployment/webstart
第18章 applet tutorial/deployment/applet
我们欢迎读者对本书多提宝贵意见。请使用如下的Tutorial反馈论坛:
http://developers.sun.com/contact/tutorial_feedback.jsp
致谢
许多因特网读者帮助我们保持并提高了本书的质量,他们给我们发电子邮件,热情地指出我们的输入错误和无效的链接,以及本书中可能引起误解的地方和需要重写的地方。
许多现任和前任的Java开发人员和文档编写人员给我们提了许多建议,解答了我们的许多问题,审阅了我们的内容,甚至参与了本书部分内容的编写。这个名单很长,其中我们特别要感谢Eric Armstrong、David Bristor、Martin Buchholz、Mandy Chung、Iris Garcia Clark、Margarita Fischer、Amy Fowler、Andy Herrick、Shannon Hickey、David Holmes、Jim Holmlund、Patrick Keegan、Peter Korn、Masayoshi Okutsu、Scott Seligman、Xueming Shen、Sundar Sivasubramanian、Pete Soper、Scott Violet和Kathy Walrath作出的贡献。我们还要特别感谢Sun公司其他高水平的作者和程序员,他们作为特邀作者参与了在线教程的编写。
我们要感谢以前的同事Joshua Bloch (“集合”一章的原作者),他在百忙之中为我们提供了最新的信息。我们还要感谢特邀的审稿人Doug Lea和Brian Goetz的长期支持。
感谢我们的经理Debra Scott给予我们鼓励,并且给我们的工作提供了必要的支持。
我们的程序经理Mary Lautner和Ian Hardie跟踪进度、分担事务性工作,并以其幽默的天性使工作变得轻松。
插图设计者Michael Quillman和Dwayne Wolff制作了专业的图片,工作又快又好。
我们还要感谢SQE团队成员提供了有价值的反馈。
最后,感谢Java SE部门的经理让他们的工程师和插图设计者帮助编写本书,特别感谢:Uday Dhanikonda、Frances Ho、James Hsieh、Janet Koenig和Keith Yarwood。
无封面