• Java面向对象编程(第2版) 9787121303142
21年品牌 40万+商家 超1.5亿件商品

Java面向对象编程(第2版) 9787121303142

正版图书,可开发票,请放心购买。

66.75 7.5折 89 全新

库存3件

广东广州
认证卖家担保交易快速发货售后保障

作者孙卫琴 编著

出版社电子工业出版社

ISBN9787121303142

出版时间2017-01

装帧平装

开本16开

定价89元

货号24161005

上书时间2024-10-26

哲仁书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言
Java语言的特点
Java应用如此广泛是因为Java具有多方面的优势。其特点如下:
(1)面向对象。Java自诞生之时就被设计成面向对象的语言,而C  语言是一种强制面向对象的语言。面向对象可以说是Java重要的特性,它不支持类似C语言那样的面向过程的程序设计技术。Java支持静态和动态风格的代码重用。
(2)跨平台。对于Java程序,不管是Windows平台还是UNIX平台或是其他平台,它都适用。Java编辑器把Java源程序编译成与体系结构无关的字节码指令,只要安装了Java运行系统,Java程序就可在任意的处理器上运行。这些字节码指令由Java虚拟机来执行,Java虚拟机的解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。
(3)直接支持分布式的网络应用。除了支持基本的语言功能,Java核心类库还包括一个支持HTTP、SMTP和FTP等基于TCP/IP协议的类库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。在Java出现以前,为分布式环境尤其是Internet提供动态的内容无疑是一项非常宏伟、难以想象的任务,但Java的语言特性却使我们很容易地达到了这个目标。
(4)安全性和健壮性。Java致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误。Java 支持自动内存管理,这不但让程序员减轻了许多负担,也减少了程序员犯错的机会。Java自己操纵内存减少了内存出错的可能性。Java还能够检测数组边界,避免了覆盖数据的可能。在Java语言里,指针和释放内存等功能均被抛弃,从而避免了非法内存操作的危险。
以上特点,是C  语言及其他语言无法比拟的(C  语言尽管也是面向对象的,但并不是严格意义上的面向对象的语言)。单从面向对象的特性来看,Java类似于SmallTalk,但其他特性,尤其是适用于分布式计算环境的特性远远超越了SmallTalk。Java发展到现在,已经不仅仅是一种语言,可以说是一种技术,这个技术涉及网络和编程等领域。另外,Java是非常简单、高效的,有调查数据发现:用C  和Java来做一个相同功能的项目,用 Java写的程序要比用C  写的程序节省60%的代码和66%的时间。可以说,用Java语言编程时间短、功能强,编程人员接手起来更容易、更简便。
本书的组织结构和主要内容
本书以6条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。书的每一章都会围绕若干条主线来展开内容,并且根据全书的布局,合理安排每一章内容的深度。本书主要内容包括:面向对象开发方法概述、个Java应用、数据类型和变量、操作符、流程控制、继承、Java语言中的修饰符、接口、异常处理、类的生命周期、对象的生命周期、内部类、多线程、数组、Java集合、泛型、Lambda表达式、输入与输出(I/O)、图形用户界面、常用Swing组件、Java常用类和Annotation注解。
这本书是否适合您
在如今的Java领域,各种新技术、新工具层出不穷,一方面,每一种技术都会不停地升级换代,另一方面,还会不断涌现出新的技术和工具。Java世界就像小时候玩的万花筒,尽管实质上只是由几个普通的玻璃碎片组成的,但只要轻轻一摇,就会变化出千万种缤纷的图案。Java世界如此变化多端,很容易让初学Java的人有无从下手的感觉。常常会有读者问我这样的问题:
我学了Java已经一年多了,现在就只能用JSP写点东西,其他的东西实在太多了,我整天学都学不完,很迷茫,不知道该如何有针对性地去学,以找到一份Java工作,现在是困死在Java里了。
撰写本书,目的之一是为了帮助读者看清Java万花筒的本质,从复杂的表象中寻找普遍的规律,深刻理解Java的核心思想,只有掌握了普遍的规律与核心思想,才能以不变应万变,轻轻松松地把握Java技术发展的新趋势,迅速地领略并且会熟练运用一门新的技术,而不成为被动的追随者,知其然而不知其所以然。
阅读本书,读者对Java的领悟将逐步达到以下境界:
熟悉Java语法,熟练地编译和调试程序。
按照面向对象的思想来快速理解JDK类库,以及其他第三方提供的类库,通过阅读JavaDoc和相关文档,知道如何正确地使用这些类库。
按照面向对象的思想来分析问题领域,设计对象模型。
在开发过程中会运用现有的一些优秀设计模式,提高开发效率。
当一个方法有多种实现方式时,能够从可维护、可重用及性能优化的角度选择的实现方式。
理解Java虚拟机执行Java程序的原理,从而更深入地理解Java语言的各种特性和语法规则。
本书的技术支持网站
本书的技术支持网站为:www.javathinker.net。读者可以在该网站交流Java技术,提出本书的勘误信息,作者会在本网站为读者答疑。本书中实例源文件及思考题答案的下载网址为:www.javathinker.net/download.htm。
致谢
本书在编写过程中得到了Oracle公司在技术上的大力支持,电子工业出版社少儿与艺术分社负责编辑审核。此外,复旦软件学院的戴开宇等老师为本书的编写提供了有益的帮助,JavaThinker.net网站的网友们为本书的升级提供了许多宝贵建议,在此表示衷心的感谢!尽管我们尽了努力,但本书难免会有不妥之处,欢迎各界专家和读者朋友批评指正。

导语摘要
本书采用由浅入深、与实际应用紧密结合的方式,利用大量经典实用的实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。本书的实例都基于*的JDK8版本。本书的*特色是以6条主线贯穿书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。另外,本书还贯穿了Oracle公司的OCJP(Oracle Certified Java Programmer)认证的考试要点。

作者简介
孙卫琴,知名IT作家和Java专家,毕业于上海交通大学,随后主要从事基于Java的软件开发工作,在此其间还从事Java方面的培训和咨询工作。2002年开始Java技术领域的创作,文风清晰严谨、深入浅出,深受读者欢迎,其多部作品的销量在同类书籍中一度位居全国榜首。代表著作有:
<<Java面向对象编程>>
<<Java网络编程精解>>
<<Java逍遥游记>>
<<Hibernate逍遥游记>>
<<精通Hibernate: Java对象持久化技术详解>> 
<<精通Struts: 基于MVC的Java Web设计与开发>> 
<<Tomcat与Java Web开发技术详解>> 
<<Java 2认证考试指南与试题解析>>

目录
第1章面向对象开发方法概述1
1.1  结构化的软件开发方法简介3
1.2  面向对象的软件开发方法简介6
1.2.1  对象模型6
1.2.2  UML:可视化建模语言7
1.2.3  Rational Rose:可视化建模
工具7
1.3  面向对象开发中的核心思想
和概念8
1.3.1  问题领域、对象、属性、状态、行为、方法、实现8
1.3.2  类、类型10
1.3.3  消息、服务12
1.3.4  接口13
1.3.5  封装、透明14
1.3.6  抽象18
1.3.7  继承、扩展、覆盖20
1.3.8  组合21
1.3.9  多态、动态绑定24
1.4  UML语言简介26
1.4.1  用例图27
1.4.2  类框图28
1.4.3  时序图29
1.4.4  协作图30
1.4.5  状态转换图30
1.4.6  组件图31
1.4.7  部署图32
1.5  类之间的关系32
1.5.1  关联(Association)33
1.5.2  依赖(Dependency)34
1.5.3  聚集(Aggregation)35
1.5.4  泛化(Generalization)36
1.5.5  实现(Realization)36
1.5.6  区分依赖、关联和聚集关系36
1.6  实现Panel系统39
1.6.1  扩展Panel系统42
1.6.2  用配置文件进一步提高Panel
系统的可维护性43
1.6.3  运行Panel系统45
1.7  小结45
1.8  思考题46
第2章个Java应用47
2.1  创建Java源文件47
2.1.1  Java源文件结构49
2.1.2  包声明语句49
2.1.3  包引入语句51
2.1.4  方法的声明53
2.1.5  程序入口main()方法的声明54
2.1.6  给main()方法传递参数55
2.1.7  注释语句55
2.1.8  关键字56
2.1.9  标识符56
2.1.10  编程规范57
2.2  用JDK管理Java应用57
2.2.1  JDK简介以及安装方法58
2.2.2  编译Java源文件60
2.2.3  运行Java程序62
2.2.4  给Java应用打包65
2.3  使用和创建JavaDoc文档66
2.3.1  JavaDoc标记68
2.3.2  javadoc命令的用法73
2.4  Java虚拟机运行Java程序的
基本原理75
2.5  小结77
2.6  思考题78
第3章数据类型和变量81
3.1  基本数据类型82
3.1.1  boolean类型82
3.1.2  byte、short、int和long
类型83
3.1.3  char类型与字符编码85
3.1.4  float和double类型87
3.2  引用类型91
3.2.1  基本类型与引用类型的区别92
3.2.2  用new关键字创建对象94
3.3  变量的作用域95
3.3.1  实例变量和静态变量的
生命周期97
3.3.2  局部变量的生命周期100
3.3.3  成员变量和局部变量同名101
3.3.4  将局部变量的作用域
小化102
3.4  对象的默认引用:this103
3.5  参数传递105
3.6  变量的初始化以及默认值107
3.6.1  成员变量的初始化107
3.6.2  局部变量的初始化108
3.7  直接数109
3.7.1  直接数的类型110
3.7.2  直接数的赋值111
3.8  小结112
3.9  思考题113
第4章操作符115
4.1  操作符简介115
4.2  整型操作符116
4.2.1  一元整型操作符117
4.2.2  二元整型操作符118
4.3  浮点型操作符123
4.4  比较操作符和逻辑操作符124
4.5  特殊操作符“?:”127
4.6  字符串连接操作符“ ”127
4.7  操作符“==”与对象的
equals()方法129
4.7.1  操作符“==”129
4.7.2  对象的equals()方法130
4.8  instanceof操作符133
4.9  变量的赋值和类型转换135
4.9.1  基本数据类型转换136
4.9.2  引用类型的类型转换139
4.10  小结139
4.11  思考题142
第5章流程控制145
5.1  分支语句146
5.1.1  if else语句146
5.1.2  switch语句150
5.2  循环语句154
5.2.1  while语句154
5.2.2  do while语句156
5.2.3  for语句158
5.2.4  foreach语句161
5.2.5  多重循环162
5.3  流程跳转语句162
5.4  综合例子:八皇后问题165
5.5  小结168
5.6  思考题169
第6章继承173
6.1  继承的基本语法173
6.2  方法重载(Overload)175
6.3  方法覆盖(Override)177
6.4  方法覆盖与方法重载的
异同183
6.5  super关键字183
6.6  多态185
6.7  继承的利弊和使用原则189
6.7.1  继承树的层次不可太多190
6.7.2  继承树的上层为抽象层190
6.7.3  继承关系的弱点:
打破封装191
6.7.4  精心设计专门用于被继承
的类193
6.7.5  区分对象的属性与继承195
6.8  比较组合与继承197
6.8.1  组合关系的分解过程对应
继承关系的抽象过程197
6.8.2  组合关系的组合过程对应
继承关系的扩展过程200
6.9  小结203
6.10  思考题204
第7章  Java语言中的修饰符209
7.1  访问控制修饰符210
7.2  abstract修饰符212
7.3  final修饰符214
7.3.1  final类215
7.3.2  final方法215
7.3.3  final变量216
7.4  static修饰符220
7.4.1  static变量220
7.4.2  static方法223
7.4.3  static代码块226
7.4.4  用static进行静态导入228
7.5  小结228
7.6  思考题230
第8章接口233
8.1  接口的概念和基本特征234
8.2  比较抽象类与接口237
8.3  与接口相关的设计模式241
8.3.1  定制服务模式241
8.3.2  适配器模式245
8.3.3  默认适配器模式250
8.3.4  代理模式251
8.3.5  标识类型模式256
8.3.6  常量接口模式257
8.4  小结258
8.5  思考题259
第9章异常处理261
9.1  Java异常处理机制概述262
9.1.1  Java异常处理机制的优点262
9.1.2  Java虚拟机的方法调用栈264
9.1.3  异常处理对性能的影响267
9.2  运用Java异常处理机制267
9.2.1  try-catch语句:捕获异常267
9.2.2  finally语句:任何情况下
必须执行的代码268
9.2.3  throws子句:声明可能会
出现的异常270
9.2.4  throw语句:抛出异常271
9.2.5  异常处理语句的语法规则271
9.2.6  异常流程的运行过程274
9.2.7  跟踪丢失的异常278
9.3  Java异常类280
9.3.1  运行时异常282
9.3.2  受检查异常
(Checked Exception)282
9.3.3  区分运行时异常和受
检查异常283
9.4  用户定义异常285
9.4.1  异常转译和异常链285
9.4.2  处理多样化异常288
9.5  异常处理原则289
9.5.1  异常只能用于非正常情况290
9.5.2  为异常提供说明文档290
9.5.3  尽可能地避免异常291
9.5.4  保持异常的原子性292
9.5.5  避免过于庞大的try代码块294
9.5.6  在catch子句中指定具体的
异常类型294
9.5.7  不要在catch代码块中忽略
被捕获的异常294
9.6  记录日志295
9.6.1  创建Logger对象及设置
日志级别296
9.6.2  生成日志297
9.6.3  把日志输出到文件297
9.6.4  设置日志的输出格式298
9.7  使用断言299
9.8  小结300
9.9  思考题301
第10章类的生命周期305
10.1  Java虚拟机及程序的
生命周期305
10.2  类的加载、连接和初始化305
10.2.1  类的加载306
10.2.2  类的验证307
10.2.3  类的准备307
10.2.4  类的解析308
10.2.5  类的初始化308
10.2.6  类的初始化的时机310
10.3  类加载器313
10.3.1  类加载的父亲委托机制315
10.3.2  创建用户自定义的类
加载器317
10.3.3  URLClassLoader类323
10.4  类的卸载324
10.5  小结325
10.6  思考题326
第11章对象的生命周期327
11.1  创建对象的方式327
11.2  构造方法330
11.2.1  重载构造方法331
11.2.2  默认构造方法332
11.2.3  子类调用父类的构造方法333
11.2.4  构造方法的作用域337
11.2.5  构造方法的访问级别337
11.3  静态工厂方法338
11.3.1  单例类340
11.3.2  枚举类342
11.3.3  不可变(immutable)类与
可变类344
11.3.4  具有实例缓存的
不可变类348
11.3.5  松耦合的系统接口350
11.4  垃圾回收351
11.4.1  对象的可触及性352
11.4.2  垃圾回收的时间354
11.4.3  对象的finalize()方法简介354
11.4.4  对象的finalize()方法的
特点355
11.4.5  比较finalize()方法和finally
代码块357
11.5  清除过期的对象引用358
11.6  对象的强、软、弱和
虚引用360
11.7  小结366
11.8  思考题367
第12章内部类371
12.1  内部类的基本语法371
12.1.1  实例内部类373
12.1.2  静态内部类376
12.1.3  局部内部类377
12.2  内部类的继承379
12.3  子类与父类中的内部类
同名380
12.4  匿名类381
12.5  内部接口以及接口中的
内部类384
12.6  内部类的用途385
12.6.1  封装类型385
12.6.2  直接访问外部类的成员385
12.6.3  回调386
12.7  内部类的类文件388
12.8  小结389
12.9  思考题389
第13章多线程393
13.1  Java线程的运行机制393
13.2  线程的创建和启动395
13.2.1  扩展java.lang.Thread类395
13.2.2  实现Runnable接口400
13.3  线程的状态转换402
13.3.1  新建状态402
13.3.2  就绪状态402
13.3.3  运行状态402
13.3.4  阻塞状态403
13.3.5  死亡状态404
13.4  线程调度405
13.4.1  调整各个线程的优先级406
13.4.2  线程睡眠:Thread.sleep()
方法408
13.4.3  线程让步:
Thead.yield()方法409
13.4.4  等待其他线程结束:join()410
13.5  获得当前线程对象的引用411

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP