Java面向对象编程
[绝版]基本信息
编辑推荐
本书是知名IT技术女作家 孙卫琴 老师倾力打造的又一部Java著作。
本书配套语音版讲解PPT免费下载
内容简介回到顶部↑
本书内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解java面向对象的编程思想、编程语法和设计模式,介绍常见java类库的用法,总结优化java编程的各种宝贵经验,深入阐述java虚拟机执行java程序的原理。书中实例均基于最新的jdk 1.5版本。全书内容包括面向对象的编程思想、java语言的基础知识、异常处理、类与对象的生命周期、多线程、java集合、输入/输出和gui编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、java语言的语法、java虚拟机执行java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了sun公司的scjp(sun certified java programmer)认证的考试要点。
书中实例源文件请到http://www.fecit.com.cn的“下载专区”下载。 本书适用于所有java编程人员,包括java初学者及资深java开发人员;亦可作为高校的java教材,企业java的培训教材,以及sun公司的scjp认证的辅导材料。
?本书的境界:
a)使读者熟悉java语法,熟练的编译和调试程序。
b)按照面向对象的思想来快速理解jdk类库以及其他第三方提供的类库,通过阅读javadoc和相关文档,知道如何正确的使用这些类库。
c)按照面向对象的思想来分析问题领域,设计对象模型。
d)在开发过程中会运用现有的一些优秀设计模式,提高开发效率。
e)当一个方法有多种实现方式时,能够从可维护、可重用以及性能优化的角度选择最佳的实现方式。
f)理解java虚拟机执行java程序的原理,从而更深入的理解java语言的各种特性和语法规则。
书中实例源文件请到http://www.fecit.com.cn的“下载专区”下载。 本书适用于所有java编程人员,包括java初学者及资深java开发人员;亦可作为高校的java教材,企业java的培训教材,以及sun公司的scjp认证的辅导材料。
?本书的境界:
a)使读者熟悉java语法,熟练的编译和调试程序。
b)按照面向对象的思想来快速理解jdk类库以及其他第三方提供的类库,通过阅读javadoc和相关文档,知道如何正确的使用这些类库。
c)按照面向对象的思想来分析问题领域,设计对象模型。
d)在开发过程中会运用现有的一些优秀设计模式,提高开发效率。
e)当一个方法有多种实现方式时,能够从可维护、可重用以及性能优化的角度选择最佳的实现方式。
f)理解java虚拟机执行java程序的原理,从而更深入的理解java语言的各种特性和语法规则。
作译者回到顶部↑
本书提供作译者介绍
孙卫琴,1997年毕业于上海交通大学,随后一直从事基于Java的软件开发工作,2003年作为访问学者,赴美国参与J2EE项目的研发,在此期间对Java开放源代码项目产生了浓厚的兴趣。
自2002年首部作品问世以来,孙卫琴一直专注于开源技术图书创作。作为一位长期在西方Java技术领域从事研究探索的东方女性,孙卫琴以她女性独特的视角和细腻的文风开辟了自己的写作天地。2004年是孙卫琴丰收的一年,也是Java开源技术图书市场充满亮点的一年,由孙卫琴撰写的<<精通Struts: 基于MVC的Java Web设计.. << 查看详细
自2002年首部作品问世以来,孙卫琴一直专注于开源技术图书创作。作为一位长期在西方Java技术领域从事研究探索的东方女性,孙卫琴以她女性独特的视角和细腻的文风开辟了自己的写作天地。2004年是孙卫琴丰收的一年,也是Java开源技术图书市场充满亮点的一年,由孙卫琴撰写的<<精通Struts: 基于MVC的Java Web设计.. << 查看详细
目录回到顶部↑
第1章 面向对象开发方法概述 1
1.1 结构化的软件开发方法简介 3
1.2 面向对象的软件开发方法简介 5
1.2.1 对象模型 6
1.2.2 uml:可视化建模语言 6
1.2.3 rational rose:可视化建模工具 7
1.3 面向对象开发中的核心思想和概念 7
1.3.1 问题领域、对象、属性、状态、行为、方法、实现 7
1.3.2 类、类型 9
1.3.3 消息、服务 10
1.3.4 接口 11
1.3.5 封装、透明 12
1.3.6 抽象 16
1.3.7 继承、扩展、覆盖 17
1.3.8 组合 19
1.3.9 多态、动态绑定 22
1.4 uml语言简介 24
1.4.1 用例图 24
1.4.2 类框图 25
1.4.3 时序图 26
1.1 结构化的软件开发方法简介 3
1.2 面向对象的软件开发方法简介 5
1.2.1 对象模型 6
1.2.2 uml:可视化建模语言 6
1.2.3 rational rose:可视化建模工具 7
1.3 面向对象开发中的核心思想和概念 7
1.3.1 问题领域、对象、属性、状态、行为、方法、实现 7
1.3.2 类、类型 9
1.3.3 消息、服务 10
1.3.4 接口 11
1.3.5 封装、透明 12
1.3.6 抽象 16
1.3.7 继承、扩展、覆盖 17
1.3.8 组合 19
1.3.9 多态、动态绑定 22
1.4 uml语言简介 24
1.4.1 用例图 24
1.4.2 类框图 25
1.4.3 时序图 26
前言回到顶部↑
Java自1996年正式发布以来,经历了初生、成长和壮大的阶段,现在已经成为IT领域里的主流编程语言。Java起源于Sun公司的一个叫“Green”的项目,目的是开发嵌入家用电器的分布式软件系统,使电器更加智能化。图P-1所示为参与Green项目的开发人员。Green项目一开始准备采用C++语言,但是考虑到C++语言太复杂,而且安全性差,于是决定基于C++语言开发一种新的Oak语言(即Java的前身)。
图P-1 参与Green项目的开发人员
Oak是一种适用于网络编程的精巧而安全的语言,它保留了许多C++语言的语法,但去除了明确的资源引用﹑指针算法与操作符重载等潜在的危险特性。并且Oak语言具有与硬件无关的特性,制造商只需要更改芯片,就可以将烤面包机上的程序代码移植到微波炉或其他电器上,而不必改变软件,这就大大降低了开发成本。
当Oak语言成熟时,全球Internet也在迅速发展。Sun公司的开发小组认识到Oak非常适合于Internet编程。1994年,他们完成了一个用Oak语言编写的早期的Web浏览器,称为WebRunner,后改名为HotJava,展示了Oak作为Internet开发工具的能力。
1995年,Oak语言更名为Java语言(以下简称为Java)。Java的取名有一个趣闻。据说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡。有一个人灵机一动,说就叫Java怎样,这得到了其他人的赞赏。于是,Java这个名字就这样传开了。
1996年,Sun公司发布JDK 1.0,计算机产业的各大公司(包括IBM、Apple、DEC、Adobe、Silicon Graphics、HP、Oracle、Toshiba和Microsoft等)相继从Sun公司购买了Java技术许可证,开发相应的产品。
1998年,Sun公司发布了JDK 1.2(从这个版本开始的Java技术都称为Java 2)。Java 2不仅兼容于智能卡和小型消费类设备,还兼容于大型服务器系统,它使软件开发商、服务提供商和设备制造商更加容易抢占市场机遇。这一开发工具极大地简化了编程人员编制企业级Web应用的工作,把一次编程到处使用的诺言应用到服务器领域。
1999年,Sun公司把Java 2技术分成J2SE、J2EE和J2ME。其中J2SE就是指从1.2版本开始的JDK,它为创建和运行Java程序提供了最基本的环境。J2EE和J2ME建立在J2SE的基础上,J2EE为分布式的企业应用提供开发和运行环境,J2ME为嵌入式应用(比如运行在手机里的Java程序)提供开发和运行环境。
在进入21世纪后,随着Web技术成为展示和操作数据的事实标准,企业利用J2EE平台对原来分散的子系统进行整合。尽管应用整合可以通过多种手段来实现,但J2EE在出现后,因其天生具备良好的开放性和可扩展性,使之在应用整合和开发的过程中发挥了愈来愈显著的优势。J2EE逐渐成为开发商创建电子商务应用的事实标准。
Java的公用规范(Publicly Available Specification,PAS)在1997年被国际标准化组织(ISO)认定,这是ISO第一次破例接受一个具有商业色彩的公司作为公用规范PAS的提交者。
总之,面向对象的Java语言具备一次编程、任何地方均可运行的能力,这使其成为服务提供商和系统集成商用以支持多种操作系统和硬件平台的首选解决方案。Java作为软件开发的一种革命性的技术,其地位已被确定。如今,Java技术已被列为当今世界信息技术的主流之一。表P-1对Java的发展历史做了总结。
表P-1 Java发展历史
年份 Java发展历史
1995 Java语言诞生
1996 JDK 1.0发布,10个最主要的操作系统供应商申明将在其产品中支持Java技术
1997 JDK 1.1发布
1998 JDK 1.1下载量超过200万次,JDK 1.2(称Java 2)发布,JFC/Swing技术发布, JFC/Swing被下载了50多万次
1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生
2000 JDK 1.3发布,JDK 1.4发布
2001 Nokia公司宣布到2003年将出售1亿部支持Java的手机,J2EE 1.3发布
图P-1 参与Green项目的开发人员
Oak是一种适用于网络编程的精巧而安全的语言,它保留了许多C++语言的语法,但去除了明确的资源引用﹑指针算法与操作符重载等潜在的危险特性。并且Oak语言具有与硬件无关的特性,制造商只需要更改芯片,就可以将烤面包机上的程序代码移植到微波炉或其他电器上,而不必改变软件,这就大大降低了开发成本。
当Oak语言成熟时,全球Internet也在迅速发展。Sun公司的开发小组认识到Oak非常适合于Internet编程。1994年,他们完成了一个用Oak语言编写的早期的Web浏览器,称为WebRunner,后改名为HotJava,展示了Oak作为Internet开发工具的能力。
1995年,Oak语言更名为Java语言(以下简称为Java)。Java的取名有一个趣闻。据说有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡。有一个人灵机一动,说就叫Java怎样,这得到了其他人的赞赏。于是,Java这个名字就这样传开了。
1996年,Sun公司发布JDK 1.0,计算机产业的各大公司(包括IBM、Apple、DEC、Adobe、Silicon Graphics、HP、Oracle、Toshiba和Microsoft等)相继从Sun公司购买了Java技术许可证,开发相应的产品。
1998年,Sun公司发布了JDK 1.2(从这个版本开始的Java技术都称为Java 2)。Java 2不仅兼容于智能卡和小型消费类设备,还兼容于大型服务器系统,它使软件开发商、服务提供商和设备制造商更加容易抢占市场机遇。这一开发工具极大地简化了编程人员编制企业级Web应用的工作,把一次编程到处使用的诺言应用到服务器领域。
1999年,Sun公司把Java 2技术分成J2SE、J2EE和J2ME。其中J2SE就是指从1.2版本开始的JDK,它为创建和运行Java程序提供了最基本的环境。J2EE和J2ME建立在J2SE的基础上,J2EE为分布式的企业应用提供开发和运行环境,J2ME为嵌入式应用(比如运行在手机里的Java程序)提供开发和运行环境。
在进入21世纪后,随着Web技术成为展示和操作数据的事实标准,企业利用J2EE平台对原来分散的子系统进行整合。尽管应用整合可以通过多种手段来实现,但J2EE在出现后,因其天生具备良好的开放性和可扩展性,使之在应用整合和开发的过程中发挥了愈来愈显著的优势。J2EE逐渐成为开发商创建电子商务应用的事实标准。
Java的公用规范(Publicly Available Specification,PAS)在1997年被国际标准化组织(ISO)认定,这是ISO第一次破例接受一个具有商业色彩的公司作为公用规范PAS的提交者。
总之,面向对象的Java语言具备一次编程、任何地方均可运行的能力,这使其成为服务提供商和系统集成商用以支持多种操作系统和硬件平台的首选解决方案。Java作为软件开发的一种革命性的技术,其地位已被确定。如今,Java技术已被列为当今世界信息技术的主流之一。表P-1对Java的发展历史做了总结。
表P-1 Java发展历史
年份 Java发展历史
1995 Java语言诞生
1996 JDK 1.0发布,10个最主要的操作系统供应商申明将在其产品中支持Java技术
1997 JDK 1.1发布
1998 JDK 1.1下载量超过200万次,JDK 1.2(称Java 2)发布,JFC/Swing技术发布, JFC/Swing被下载了50多万次
1999 Java被分成J2SE、J2EE 和J2ME,JSP/Servlet技术诞生
2000 JDK 1.3发布,JDK 1.4发布
2001 Nokia公司宣布到2003年将出售1亿部支持Java的手机,J2EE 1.3发布
评论交流
共有177人开贴评论 361人参与评论 162人参与打分 查看
评价等级:







发表于:2006-9-27 11:54:00
这是一本大大提高你的Java功力的书。
我带团队开发有四年了。我手下的开发人员有不少是新手,啥也不懂,
也能依葫芦画瓢,coding两下子。他们有的水平逐渐提高,
变成了IT白领和金领,有的却永远停留在IT蓝领的基础上。
我认为要想提高自己的技术水平,动手编程是一个方面,但光靠这还不够,
因为现在的软件项目都作了细化和分工,使得每个编程人员只需机械的重复
编写一小部分,编程人员无需考虑性能,架构等问题,只是依葫芦画瓢,做许多Copy
工作,单靠这怎么能提高水平呢。
看书学习是提高水平的重要方面。但现在书太多了,许多IT新手都喜欢买一大堆书,
蜻蜓点水,什么都看,什么都似懂非懂,永远不得章法。所以,一定要找到好书看,对于认准的好书,就扎扎实实的从头啃到尾。各种技术都是相同的,当你把一门技术搞精通了,你会豁然开朗,发现所有的技术大门都向你敞开了。因为不管是哪种技术,它们都需要解决相似的问题,解决思路也自然具有类似性。
这本书《Java面向对象编程》是我看到的最适合Java程序员看的Java书了,内容详细透彻,讲解清晰,而且深刻揭示了面向对象的开发思想,这本书既能帮助你熟练编写Java程序,而且能帮助你掌握面向对象的思维,是值得精读的一本书。
我向我的手下的开发人员推荐了本书,他们看了后收获很大,觉得自己的Java境界有了巨大的飞跃。在这里,我也极力向你推荐本书。
以上是我,一位项目开发经理,给大家的诚恳建议。
我带团队开发有四年了。我手下的开发人员有不少是新手,啥也不懂,
也能依葫芦画瓢,coding两下子。他们有的水平逐渐提高,
变成了IT白领和金领,有的却永远停留在IT蓝领的基础上。
我认为要想提高自己的技术水平,动手编程是一个方面,但光靠这还不够,
因为现在的软件项目都作了细化和分工,使得每个编程人员只需机械的重复
编写一小部分,编程人员无需考虑性能,架构等问题,只是依葫芦画瓢,做许多Copy
工作,单靠这怎么能提高水平呢。
看书学习是提高水平的重要方面。但现在书太多了,许多IT新手都喜欢买一大堆书,
蜻蜓点水,什么都看,什么都似懂非懂,永远不得章法。所以,一定要找到好书看,对于认准的好书,就扎扎实实的从头啃到尾。各种技术都是相同的,当你把一门技术搞精通了,你会豁然开朗,发现所有的技术大门都向你敞开了。因为不管是哪种技术,它们都需要解决相似的问题,解决思路也自然具有类似性。
这本书《Java面向对象编程》是我看到的最适合Java程序员看的Java书了,内容详细透彻,讲解清晰,而且深刻揭示了面向对象的开发思想,这本书既能帮助你熟练编写Java程序,而且能帮助你掌握面向对象的思维,是值得精读的一本书。
我向我的手下的开发人员推荐了本书,他们看了后收获很大,觉得自己的Java境界有了巨大的飞跃。在这里,我也极力向你推荐本书。
以上是我,一位项目开发经理,给大家的诚恳建议。
评价等级:





发表于:2007-10-11 15:36:00
书是给和作者的水平相差太多的人看的,这样才能保证书存在的意义,才能保证看书的人可以真正学到东西.有些人看起来好象对书提的意见非常专业,以至于一般读者都看不懂他们的意见.那么我就有点儿困惑了,:"你懂得这么多,你买这本书干嘛????怪怪.",你可以买更高深的书呀.就好象对一本入门的书指出其中的什么什么不够专业似的,要知道,对于入门的人来说这些并不重要.我觉得一本书如果能够把一个人的知识做很大提升,这本收对于那个人来说,已经够了.所以如果要对你看的书提什么意见的话,希望请提一些实在的,对其他读者也有帮助的,OK?
有些人本来人就不谦虚,往往在写书评的时候感觉很好.你也不如静下心来,好好学一学你买来的书吧.反正钱都花了.我们说一本书就如一个老师一样,做学生的怎么能对老师的技术指手划脚呢?你可以选择不要他这个老师然后再比划也不迟呀.我们批评一本书是因为它对于知识的吸收有所缺陷,我们批评一个老师一定是因为这个老师的态度问题也不是技术问题.
有些人本来人就不谦虚,往往在写书评的时候感觉很好.你也不如静下心来,好好学一学你买来的书吧.反正钱都花了.我们说一本书就如一个老师一样,做学生的怎么能对老师的技术指手划脚呢?你可以选择不要他这个老师然后再比划也不迟呀.我们批评一本书是因为它对于知识的吸收有所缺陷,我们批评一个老师一定是因为这个老师的态度问题也不是技术问题.
评价等级:







发表于:2006-11-21 9:44:00
这是一本好书,是不用去怀疑的,很多人评了5星,评价也很中肯.可是总有一些人乱叫,也不知道他们看没看这本书.
给一本书下评论,是要在读过这本书的基础上才有资格评的.就像那本〈Java编程思想〉,SB人看都不看就跟着叫好.可是就我所认识的搞Java的人中,至少有一半都认为那本书不怎么样,为什么??因为大家都看过,并且发现真不不是很容易懂.
孙卫琴的这本书,是一本中国人写给中国人看的书,是我见过的唯一一本书的内容和书名匹配的书,而且里面的内容还有一定的深度,不是泛泛而谈,如,讲解IO时,孙老师就顺带讲了一下装饰器模式,呵呵.再看看设计模式的书,就会明白为什么IO包要这么设计,这就叫,知其然,知其所以然.别的哪本书会这么讲.
还有,如果Java是你的第一门语言,你连基本的编程思维都没有,那还是算了.这本书不适合你.你还是找一些被别人骂的狗血喷头的书看看吧,可能会更好一些.
我们看待问题要客观一些,Word Excel的书卖的都很火,但是编程的书卖的就要差的多了,这里面有多少人不知道这个事实??
给一本书下评论,是要在读过这本书的基础上才有资格评的.就像那本〈Java编程思想〉,SB人看都不看就跟着叫好.可是就我所认识的搞Java的人中,至少有一半都认为那本书不怎么样,为什么??因为大家都看过,并且发现真不不是很容易懂.
孙卫琴的这本书,是一本中国人写给中国人看的书,是我见过的唯一一本书的内容和书名匹配的书,而且里面的内容还有一定的深度,不是泛泛而谈,如,讲解IO时,孙老师就顺带讲了一下装饰器模式,呵呵.再看看设计模式的书,就会明白为什么IO包要这么设计,这就叫,知其然,知其所以然.别的哪本书会这么讲.
还有,如果Java是你的第一门语言,你连基本的编程思维都没有,那还是算了.这本书不适合你.你还是找一些被别人骂的狗血喷头的书看看吧,可能会更好一些.
我们看待问题要客观一些,Word Excel的书卖的都很火,但是编程的书卖的就要差的多了,这里面有多少人不知道这个事实??
| 我要写评论 |
| 查看所有评论交流(共177条) |








点击看大图





加载中...


