注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计JAVA及其相关JAVA面向对象编程

JAVA面向对象编程

JAVA面向对象编程

定 价:¥65.80

作 者: 孙卫琴编著
出版社: 电子工业出版社
丛编项: Java开发专家
标 签: Java语言 程序设计

ISBN: 9787121025389 出版时间: 2006-07-01 包装: 平装
开本: 16开 页数: 648 字数:  

内容简介

本书内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。书中实例均基于最新的JDK1.5版本。全书内容包括面向对象的编程思想、Java语言的基础知识、异常处理、类与对象的生命周期、多线程、Java集合、输入/输出和GUI编程等。其最大特色是以六条主线贯穿全书:面向对象编程思想、Java语言的语法、Java虚拟机执行Java程序的原理、在实际项目中的运用、设计模式和性能优化技巧。同时,本书还贯穿了Sun公司的SCJP(SunCertifiedJavaProgrammer)认证的考试要点。书中实例源文件请到http://www.fecit.com.cn的“下载专区”下载。本书适用于所有Java编程人员,包括Java初学者及资深Java开发人员;亦可作为高校的Java教材,企业Java的培训教材,以及Sun公司的SCJP认证的辅导材料。?本书的境界:A)使读者熟悉Java语法,熟练的编译和调试程序。B)按照面向对象的思想来快速理解JDK类库以及其他第三方提供的类库,通过阅读JavaDoc和相关文档,知道如何正确的使用这些类库。C)按照面向对象的思想来分析问题领域,设计对象模型。D)在开发过程中会运用现有的一些优秀设计模式,提高开发效率。E)当一个方法有多种实现方式时,能够从可维护、可重用以及性能优化的角度选择最佳的实现方式。F)理解Java虚拟机执行Java程序的原理,从而更深入的理解Java语言的各种特性和语法规则。

作者简介

  孙卫琴,1975年出生,籍贯江苏常州,1997年毕业于上海交通大学,随后主要从事基于Java的软件开发工作,在此期间还从事过Java方面的培训和咨询工作。2002年开始Java技术领域的图书创作。代表著作有:《Java面向对象编程》、《精通Hibernate:Java对象持久化技术详解》、《精通Sturts:基于MVC的JavaWeb设计与开发》、《Tomcat与JavaWeb开发技术详解》。

图书目录

第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.4.4  协作图    27
1.4.5  状态转换图    27
1.4.6  组件图    28
1.4.7  部署图    29
1.5  类之间的关系    29
1.5.1  关联(Association)    29
1.5.2  依赖(Dependency)    31
1.5.3  聚集(Aggregation)    31
1.5.4  泛化(Generalization)    32
1.5.5  实现(Realization)    32
1.5.6  区分依赖、关联和聚集关系    33
1.6  实现Panel系统    35
1.6.1  扩展Panel系统    37
1.6.2  用配置文件进一步提高Panel
系统的可维护性    39
1.6.3  运行Panel系统    40
1.7  小结    41
1.8  思考题    42
第2章  第一个Java应用    43
2.1  创建Java源文件    43
2.1.1  Java源文件结构    44
2.1.2  包声明语句    45
2.1.3  包引入语句    47
2.1.4  方法的声明    49
2.1.5  程序入口main()方法的声明    50
2.1.6  给main()方法传递参数    51
2.1.7  注释语句    51
2.1.8  关键字    51
2.1.9  标识符    52
2.1.10  编程规范    52
2.2  用JDK管理Java应用    53
2.2.1  JDK简介    54
2.2.2  编译Java源文件    55
2.2.3  运行Java程序    56
2.2.4  给Java应用打包    59
2.3  JavaDoc文档    60
2.3.1  JavaDoc标记    62
2.3.2  javadoc命令的用法    67
2.4  Java虚拟机的运行时数据区    69
2.5  小结    71
2.6  思考题    71
第3章  数据类型和变量    73
3.1  基本数据类型    74
3.1.1  boolean类型    74
3.1.2  byte、short、int和
long类型    75
3.1.3  char类型与字符编码    76
3.1.4  float和double类型    79
3.2  引用类型    83

3.2.1  基本类型与引用类型的
区别    84
3.2.2  用new关键字创建对象    85
3.3  变量的作用域    87
3.3.1  静态变量和实例变量的
生命周期    88
3.3.2  局部变量的生命周期    91
3.3.3  成员变量和局部变量同名    92
3.3.4  将局部变量的作用域
最小化    93
3.4  对象的默认引用:this    94
3.5  参数传递    96
3.6  变量的初始化及
默认值    98
3.6.1  成员变量的初始化    98
3.6.2  局部变量的初始化    99
3.7  直接数    100
3.7.1  直接数的类型    100
3.7.2  直接数的赋值    101
3.8  小结    103
3.9  思考题    104
第4章  操作符    107
4.1  操作符简介    107
4.2  整型操作符    108
4.2.1  一元整型操作符    109
4.2.2  二元整型操作符    110
4.3  浮点型操作符    115
4.4  比较操作符和逻辑操作符    116
4.5  三元操作符“?:”    119
4.6  字符串连接操作符“+”    119
4.7  操作符“==”与对象的
equals()方法    121
4.7.1  操作符“==”    121
4.7.2  对象的equals()方法    122
4.8  instanceof 操作符    125
4.9  变量的赋值和类型转换    127
4.9.1  基本数据类型转换    128
4.9.2  引用类型的类型转换    131
4.10  小结    131
4.11  思考题    134
第5章  流程控制    137
5.1  分支语句    138
5.1.1  if…else语句    138
5.1.2  switch语句    141
5.2  循环语句    144
5.2.1  while语句    145
5.2.2  do…while语句    146
5.2.3  for语句    147
5.2.4  多重循环    150
5.3  流程跳转语句    151
5.4  综合例子:八皇后问题    153
5.5  小结    156
5.6  思考题    157
第6章  继承    161
6.1  继承的基本语法    161
6.2  方法重载(Overload)    163
6.3  方法覆盖(Override)    165
6.4  方法覆盖与方法重载的
异同    170
6.5  super关键字    171
6.6  多态    172
6.7  继承的利弊和使用原则    177
6.7.1  继承树的层次不可太多    177
6.7.2  继承树的上层为抽象层    177
6.7.3  继承关系最大的弱点:
打破封装    178
6.7.4  精心设计专门用于
被继承的类    180
6.7.5  区分对象的属性与继承    181
6.8  比较组合与继承    183
6.8.1  组合关系的分解过程对应
继承关系的抽象过程    184
6.8.2  组合关系的组合过程对应
继承关系的扩展过程    186
6.9  小结    189

6.10  思考题    190
第7章  Java语言中的修饰符    195
7.1  访问控制修饰符    196
7.2  abstract修饰符    198
7.3  final修饰符    200
7.3.1  final类    201
7.3.2  final方法    201
7.3.3  final变量    202
7.4  static修饰符    206
7.4.1  static变量    206
7.4.2  static方法    209
7.4.3  static代码块    212
7.5  小结    214
7.6  思考题    215
第8章  接口    219
8.1  接口的概念和基本特征    220
8.2  比较抽象类与接口    222
8.3  与接口相关的设计模式    227
8.3.1  定制服务模式    227
8.3.2  适配器模式    231
8.3.3  默认适配器模式    235
8.3.4  代理模式    236
8.3.5  标识类型模式    241
8.3.6  常量接口模式    242
8.4  小结    243
8.5  思考题    244
第9章  异常处理    247
9.1  Java异常处理机制概述    248
9.1.1  Java异常处理机制的优点    248
9.1.2  Java虚拟机的方法调用栈    250
9.1.3  异常处理对性能的影响    253
9.2  运用Java异常处理机制    253
9.2.1  try…catch语句:
捕获异常    253
9.2.2  finally语句:任何情况下都
必须执行的代码    254

9.2.3  throws子句:声明可能会
出现的异常    256
9.2.4  throw语句:抛出异常    256
9.2.5  异常处理语句的语法规则    257
9.2.6  异常流程的运行过程    260
9.3  Java异常类    264
9.3.1  运行时异常    266
9.3.2  受检查异常    266
9.3.3  区分运行时异常和
受检查异常    267
9.3.4  区分运行时异常和错误    268
9.4  用户定义异常    268
9.4.1  异常转译和异常链    269
9.4.2  处理多样化异常    271
9.5  异常处理原则    273
9.5.1  异常只能用于非正常情况    273
9.5.2  为异常提供说明文档    274
9.5.3  尽可能地避免异常    275
9.5.4  保持异常的原子性    276
9.5.5  避免过于庞大的try
代码块    277
9.5.6  在catch子句中指定具体的
异常类型    277
9.5.7  不要在catch代码块中忽略
被捕获的异常    278
9.6  小结    278
9.7  思考题    279
第10章  类的生命周期    283
10.1  Java虚拟机及程序的
生命周期    283
10.2  类的加载、连接和初始化    283
10.2.1  类的加载    284
10.2.2  类的验证    285
10.2.3  类的准备    285
10.2.4  类的解析    286
10.2.5  类的初始化    286
10.2.6  类的初始化的时机    288
10.3  类加载器    291
10.3.1  类加载的父亲委托(Parent
Delegation)机制    293
10.3.2  创建用户自定义的
类加载器    294
10.3.3  URLClassLoader类    300
10.4  类的卸载    301
10.5  小结    302
10.6  思考题    303
第11章  对象的生命周期    305
11.1  创建对象的方式    305
11.2  构造方法    308
11.2.1  重载构造方法    309
11.2.2  默认构造方法    310
11.2.3  子类调用父类的构造方法    311
11.2.4  构造方法的作用域    314
11.2.5  构造方法的访问级别    315
11.3  静态工厂方法    316
11.3.1  单例(singleton)类    317
11.3.2  枚举类    319
11.3.3  不可变(immutable)类与
可变类    321
11.3.4  具有实例缓存的
不可变类    325
11.3.5  松耦合的系统接口    327
11.4  垃圾回收    328
11.4.1  对象的可触及性    329
11.4.2  垃圾回收的时间    330
11.4.3  对象的finalize()
方法简介    331
11.4.4  对象的finalize()
方法的特点    331
11.4.5  比较finalize()方法和
finally代码块    334
11.5  清除过期的对象引用    334
11.6  对象的强、软、弱和
虚引用    336
11.7  小结    342
11.8  思考题    342
第12章  内部类    345
12.1  内部类的基本语法    345
12.1.1  实例内部类    346
12.1.2  静态内部类    349
12.1.3  局部内部类    351
12.2  内部类的继承    352
12.3  子类与父类中的
内部类同名    353
12.4  匿名类    354
12.5  内部接口及接口中的
内部类    357
12.6  内部类的用途    358
12.6.1  封装类型    358
12.6.2  直接访问外部类的成员    358
12.6.3  回调(CallBack)    359
12.7  内部类的类文件    361
12.8  小结    361
12.9  思考题    362
第13章  多线程    365
13.1  Java线程的运行机制    365
13.2  线程的创建和启动    367
13.2.1  扩展java.lang.Thread类    367
13.2.2  实现Runnable接口    372
13.3  线程的状态转换    373
13.3.1  新建状态(New)    373
13.3.2  就绪状态(Runnable)    374
13.3.3  运行状态(Running)    374
13.3.4  阻塞状态(Blocked )    374
13.3.5  死亡状态(Dead)    375
13.4  线程调度    376
13.4.1  调整各个线程的优先级    377
13.4.2  线程睡眠:Thread.sleep()
方法    379
13.4.3  线程让步:Thead.yield()
方法    380
13.4.4  等待其他线程结束:
join()    381

13.5  获得当前线程对象的
引用    382
13.6  后台线程    383
13.7  定时器Timer    384
13.8  线程的同步    386
13.8.1  同步代码块    389
13.8.2  线程同步的特征    392
13.8.3  同步与并发    395
13.8.4  线程安全的类    396
13.8.5  释放对象的锁    397
13.8.6  死锁    398
13.9  线程通信    400
13.10  中断阻塞    404
13.11  线程控制    405
13.11.1  被废弃的suspend()和
resume()方法    406
13.11.2  被废弃的stop()方法    407
13.11.3  以编程的方式控制线程    407
13.12  线程组    409
13.13  处理线程未捕获的异常    410
13.14  ThreadLocal类    412
13.15  小结    414
13.16  思考题    415
第14章  数组    417
14.1  数组变量的声明    417
14.2  创建数组对象    418
14.3  访问数组的元素和长度    419
14.4  数组的初始化    420
14.5  多维数组    421
14.6  调用数组对象的方法    422
14.7  把数组作为方法参数或
返回值    423
14.8  数组排序    425
14.9  数组的二叉查找算法    426
14.10  哈希表    428
14.11  数组实用类:Arrays    432
14.12  小结    434
14.13  思考题    435
第15章  Java集合    437
15.1  Collection和Iterator接口    438
15.2  Set(集)    440
15.2.1  Set的一般用法    441
15.2.2  HashSet类    442
15.2.3  TreeSet类    444
15.3  List(列表)    448
15.3.1  访问列表的元素    448
15.3.2  为列表排序    449
15.3.3  ListIterator接口    449
15.3.4  获得固定长度的List对象    450
15.3.5  比较Java数组和各种
List的性能    451
15.4  Map(映射)    453
15.5  HashSet和HashMap的
负载因子    455
15.6  集合的编译时类型检查    456
15.7  用for循环遍历集合    459
15.8  集合实用类:Collections    459
15.9  历史集合类    462
15.10  小结    465
15.11  思考题    466
第16章  Java I/O系统    467
16.1  输入流和输出流概述    467
16.2  输入流    469
16.2.1  字节数组输入流:
ByteArrayInputStream类    470
16.2.2  文件输入流:
FileInputStream类    471
16.2.3  字符串输入流:
StringBufferInputStream类    472
16.2.4  管道输入流:
PipedInputStream类    473
16.2.5  顺序输入流:
SequenceInputStream类    474
16.3  过滤输入流:
FilterInputStream类    474

16.3.1  装饰器设计模式    475
16.3.2  过滤输入流的种类    476
16.3.3  DataInputStream类    476
16.3.4  LineNumberInputStream类    478
16.3.5  BufferedInputStream类    478
16.3.6  PushbackInputStream类    478
16.4  输出流    479
16.4.1  字节数组输出流:
ByteArrayOutputStream类    479
16.4.2  文件输出流:
FileOutputStream类    480
16.5  过滤输出流:
FilterOutputStream类    481
16.5.1  DataOutputStream类    481
16.5.2  BufferedOutputStream类    482
16.5.3  PrintStream类    483
16.6  Reader/Writer概述    485
16.7  Reader类    487
16.7.1  字符数组输入流:
CharArrayReader类    488
16.7.2  字符串输入流:
StringReader类    488
16.7.3  InputStreamReader类    489
16.7.4  FileReader类    490
16.7.5  BufferedReader类    490
16.8  Writer类    490
16.8.1  字符数组输出流:
CharArrayWriter类    491
16.8.2  OutputStreamWriter类    491
16.8.3  FileWriter类    494
16.8.4  BufferedWriter类    494
16.8.5  PrintWriter类    494
16.9  标准I/O    495
16.9.1  重新包装标准输入和输出    495
16.9.2  标准I/O重定向    496
16.10  随机访问文件类:
RandomAccessFile    497
16.11  新I/O类库    499

16.11.1  缓冲器Buffer概述    499
16.11.2  通道Channel概述    500
16.11.3  字符编码Charset类概述    502
16.11.4  用FileChannel读写文件    502
16.11.5  控制缓冲区    503
16.11.6  字符编码转换    504
16.11.7  缓冲区视图    505
16.11.8  文件映射缓冲区:
MappedByteBuffer    507
16.11.9  文件加锁    508
16.12  对象的序列化与
反序列化    510
16.13  File类    515
16.13.1  查看、创建和删除
文件或目录    517
16.13.2  文件过滤器    519
16.14  小结    520
16.15  思考题    521
第17章  图形用户界面    523
17.1  AWT容器    523
17.2  布局管理器    525
17.2.1  FlowLayout流式布局
管理器    526
17.2.2  BorderLayout边界布局
管理器    528
17.2.3  GridLayout网格布局
管理器    530
17.2.4  CardLayout卡片布局
管理器    533
17.2.5  GridBagLayout网格包布局
管理器    535
17.3  事件处理    539
17.3.1  事件处理的软件实现    540
17.3.2  事件源﹑事件和监听器的
类层次和关系    545
17.4  AWT绘图    550
17.5  Graphics类    552
17.6  小结    554
17.7  思考题    554
第18章  Swing组件    557
18.1  Swing组件的基本用法    558
18.2  边框    559
18.3  按钮组件    561
18.4  文本框    564
18.5  文本区域与滚动面板    566
18.6  复选框与单选按钮    568
18.7  下拉列表    570
18.8  列表框    571
18.9  页签面板    573
18.10  菜单    574
18.11  对话框    579
18.12  文件对话框    581
18.13  消息框    584
18.14  绘图    585
18.15  JApplet    588
18.16  在JApplet中播放声音    594
18.17  BoxLayout布局管理器    596
18.18  设置Swing界面的外观和
感觉    599
18.19  小结    601
18.20  思考题    602

第19章  Java常用类    603
19.1  Object类    603
19.2  String类和StringBuffer类    604
19.2.1  String类    604
19.2.2  "hello"与new String("hello")
的区别    607
19.2.3  StringBuffer类    608
19.2.4  比较String类与StringBuffer
类    609
19.2.5  正则表达式    611
19.3  包装类    612
19.3.1  包装类的构造方法    613
19.3.2  包装类的常用方法    614
19.3.3  包装类的特点    615
19.4  Math类    616
19.5  Random类    617
19.6  处理日期的类    617
19.6.1  Date类    618
19.6.2  DateFormat类    618
19.6.3  Calendar类    620
19.7  BigDecimal类    621
19.8  小结    624
19.9  思考题    624
参考文献    626

本目录推荐