分享
 
 
 

Java软件开发(第三版)

Java软件开发(第三版)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机/网络,程序设计,Java Java Script J2EE,

作者: (英)温德尔(Winder,R.),(英)罗伯茨(Roberts,G.)著,黄湘情,曹永存译

出 版 社: 人民邮电出版社

出版时间: 2008-7-1字数: 1428000版次: 1页数: 716印刷时间: 2008/07/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787115174628包装: 平装编辑推荐

本书是《Java软件开发》的最新版本,全面介绍使用编程语言、Java 5进行面向对象的设计和程序开发等内容。本书带领读者从Java 5的基本用法开始,学习创建完整的面向对象的程序。按照“尽早认识对象”的方法,本书覆盖了Java语言的核心内容,包括使用新增的特性,如泛型。

本书的重点是鼓励读者合理创建和使用类,并说明运用什么策略来创建优秀的代码。通过学习本书,您会了解Java程序的工作方式,以及如何以组织和系统的方式设计并实现Java程序。此外,本书还给出了管理Java编程项目的方法,介绍了Ant构建工具和Subverslorl版本控制系统。

测试一直是《Java软件开发》中的重要部分。本书提供新的章节以详细介绍测试驱动开发(TDD)。这种编程方法对程序编写的要求更加严格,强调从一开始就要编写高质量的测试和被测试代码。书中用一系列的案例研究说明了TDD的工作方式,特别是测试代码的策略。

本书反映了Java编程语言的最新变化,再次讨论了程序设计的第一个过程,非常适合用于教学或自学。书中有许多启发性的例子和大型的案例研究,说明如何在创建实际的应用程序时应用编程的核心思想,以及如何有效地使用面向对象的方法创建出健壮、可靠的和经过充分测试的应用程序。

内容简介

本书是专门为Java软件开发课程编写的教材,旨在帮助读者学习Java程序设计和软件开发。

全书分为5个部分。第1部分(第1~10章)阐述了面向对象的Java语言和面向对象开发过程的基本概念和主要思想;第2部分(第11~14章)是有关程序设计的过程,介绍测试驱动开发的原理、过程、工具和技术,并说明是如何进行编程的;第3部分(第15~17章)给出了一些可以用于自学的案例,包括一些用来组织讨论会、扩展程序开发的项目基础内容。第4部分(第18~24章)是Java语言的自学指南和参考。附录部分提供了有关Java编程的一些有用参考资料。

本书适合作为高等院校计算机专业Java语言课程教材,也可以供Java语言自学者阅读使用。

目录

第1部分对象和类的编程

第1章简介

1.1引言

1.2Java简史

1.3Java生逢其时

1.4Java是什么

1.5抽象:编程的重要核心

1.6Java 2平台

1.7Java的体系结构是平台无关的

1.8Java不是玩笑

1.9小结

第2章程序设计基础

2.1引言

2.2抽象和概要

2.3语句的顺序

2.4迭代

2.4.1Java的while语句和复合语句

2.4.2Java的do语句

2.5选择语句

2.5.1Java的if语句

2.5.2Java的break语句

2.6变量

2.6.1变量的命名

2.6.2赋值

2.6.3变量的类型

2.6.4初始化变量

2.6.5常数变量(命名常量)

2.6.6变量和类型检查

2.6.7变量的比较

2.7编写一个简单的Java程序(程序1)

2.8使用注释

2.9输出语句

2.10输入语句

2.11交互式程序

2.11.1程序2——基本的输入输出

2.11.2程序3——使用字符串

2.11.3程序4——使用表达式

2.12小结

2.13复习题

2.14练习题

2.15挑战题

第3章向程序中增加结构

3.1引言

3.2抽象和封装

3.3方法

3.3.1从方法返回值

3.3.2void方法和类型

3.3.3方法的参数

3.3.4多个方法参数

3.3.5递归

3.4如何在程序中使用方法

3.4.1例程:乘法表程序

3.4.2例程:回文程序

3.5过程分解

3.6封装

3.6.1作用域与生存期

3.6.2命名与作用域

3.7更多的运算符

3.7.1递增、递减和赋值运算符

3.7.2算术表达式和类型

3.7.3条件运算符

3.8更多的控制语句

3.8.1for循环语句

3.8.2switch语句

3.9更多的实例程序

3.9.1例程:字符三角形(CharacterTriangle)程序

3.9.2例程:字符矩形(CharacterRectangle)程序

3.9.3例程:二进制转十进制(ConverBinaryToDecimal)程序

3.10小结

3.11复习题

3.12练习题

3.13挑战题

第4章容器类介绍

4.1引言

4.2数组

4.2.1声明数组

4.2.2数组索引

4.2.3Foreach循环

4.2.4数组用作方法参数

4.2.5数组用作返回值

4.2.6求平均数(Mean)程序

4.2.7Array类

4.2.8多维数组

4.2.9数组初始化表达式

4.2.10AddUpColumns程序

4.2.11main方法的参数

4.2.12字符数组和字符串

4.3容器(Container)类

4.3.1ArrayList类

4.3.2容器类和基本类型

4.3.3Foreach循环

4.3.4修改Mean程序

4.4数据文件

4.4.1文本数据

4.4.2用FileInput类读取数据

4.4.3用FileOutput类写数据

4.4.4DisplayTextFile程序

4.4.5Copy程序

4.4.6WordCount程序

4.5小结

4.6复习题

4.7练习题

4.8挑战题

第5章画图

5.1引言

5.2绘图

5.2.1画一条线段

5.2.2画矩形、正方形、椭圆和圆

5.2.3其他的标准图形

5.2.4创建新的图形

5.3绘图的属性

5.3.1颜色

5.3.2线宽

5.3.3图形的填充

5.4绘制文本

5.5程序例程

5.5.1例程:棋盘程序

5.5.2例程:螺旋线程序

5.5.3例程:图形程序

5.6小结

5.7复习题

5.8练习题

5.9挑战题

第6章类和对象

6.1引言

6.2创建新的数据类型

6.2.1栈对象

6.2.2Stack类

6.3通用类

6.4方法的命名和作用域

6.5对象初始化

6.5.1实例变量的直接初始化

6.5.2构造函数(Constructor)

6.5.3实例初始化块

6.5.4多种方法如何选择

6.6对象和引用

6.6.1删除旧的对象

6.6.2对象、引用和基本类型

6.6.3对象与方法参数

6.6.4复制对象

6.6.5相等性和对象

6.6.6null

6.6.7this操作符

6.7静态变量和静态方法

6.8类的几个例子

6.8.1例程:Name类

6.8.2例程:Matrix类

6.8.3例程:Graph类

6.9用类和对象进行程序设计

6.9.1对象用来提供服务

6.9.2类与封装

6.10枚举类型

6.11示例——创建桥牌

6.12小结

6.13复习题

6.14练习题

6.15挑战题

第7章类关系详述

7.1引言

7.2关联

7.2.1对象所有权(OwnerShip)

7.2.2有效地使用关联

7.3继承

7.3.1使用继承

7.3.2protected

7.3.3继承和构造函数

7.3.4超类

7.3.5QueueT与DequeueT的实现示例

7.3.6静态变量和继承

7.3.7隐藏名称

7.3.8方法覆盖和动态绑定

7.4关联与继承之间的抉择

7.5继承的层次体系

7.5.1Object类

7.5.2抽象类

7.6接口和类型一致性

7.6.1可替换性、类型和一致性

7.6.2接口及其实现

7.7比较对象的相等性

7.7.1Class类和Instanceof运算符

7.7.2一个惯例

7.8嵌套(Nested)类

7.9包(package)

7.10例程:再次研究Matrix类

7.11可复用性与组件

7.12小结

7.13复习题

7.14练习题

7.15挑战题

第8章异常

8.1问题是什么

8.2错误的种类

8.3表示异常

8.4抛出异常

8.5捕获异常

8.6finally块

8.7使用异常的重要性

8.8例子

8.8.1带异常的ConvertBinaryToDecimal程序

8.8.2以更复杂方式编写的Copy程序

8.8.3重写WordCount程序

8.8.4带异常处理的Stack类型

8.9小结

8.10复习题

8.11练习题

第9章使用线程的并发

9.1一次做多件事情

9.2线程

9.3使用线程

9.4线程同步

9.5线程调度

9.6示例程序

9.6.1文本时钟

9.6.2共享队列

9.6.3网络应用程序

9.7小结

9.8复习题

9.9练习题

第10章用户界面

10.1引言

10.1.1可视化组件

10.1.2事件和事件驱动系统

10.1.3AWT和Swing

10.2核心的GUI概念

10.2.1例程:HelloGoodbye程序

10.2.2创建窗口

10.2.3创建Swing GUI组件

10.2.4容器和布局管理器

10.2.5布局管理器优点

10.2.6不同的布局管理器

10.2.7窗口显示

10.2.8处理事件

10.2.9运行和终止HelloGoodbye程序

10.2.10HelloGoodbye程序的总结

10.3使用GUI作为文本输入

10.4实例:一个非常简单的文本编辑器

10.5菜单

10.6绘图

10.7小结

10.8复习题

10.9练习题

10.10挑战题

第2部分程序设计过程

第11章程序设计过程

11.1引言

11.1.1面向对象的软件工程

11.1.2敏捷方法

11.1.3设计文档

11.2为什么要用面向对象方法

11.2.1一个比喻—路线计划

11.2.2问题域

11.2.3封装

11.3开始任务

11.3.1概览

11.3.2初始问题陈述

11.3.3使用故事收集用户需求

11.3.4功能需求和用例

11.3.5分析

11.3.6设计、实现和测试

11.3.7交付、部署和维护

11.3.8复审和迭代

11.4测试策略

11.4.1单元测试和功能测试

11.4.2验收测试

11.4.3调试

11.5UML类、对象和序列图

11.5.1类图

11.5.2包

11.5.3对象图

11.5.4序列图

11.5.5临时表示法

11.6实践和经验

11.7小结

11.8复习题

11.9练习题

11.10挑战题

第12章单元测试

12.1引言

12.1.1测试是什么

12.1.2到底为什么要测试呢

12.2单元测试—第一个示例

12.2.1类及其测试

12.2.2测试是如何运行的

12.3单元测试的核心原则

12.3.1问题

12.3.2此代码不能够进行测试

12.4测试驱动的开发

12.4.1重构

12.4.2重复

12.4.3红色/绿色/重构

12.4.4按照规范进行测试

12.5TestNG框架

12.5.1测试循环

12.5.2TestNG测试类

12.5.3配置方法

12.5.4测试方法

12.5.5异常

12.5.6断言

12.5.7testng.xml文件

12.6扩展Person类

12.6.1重构

12.6.2无效日期

12.6.3日期验证

12.6.4类的状态

12.6.5现在在哪里呢

12.7小结

12.8复习题

12.9练习题

12.10挑战题

第13章测试驱动的程序设计策略

13.1引言

13.2第一步—搜索文件

13.2.1真实文件与模拟文件

13.2.2使用真实文件

13.2.3到目前为止的回顾过程

13.2.4模拟

13.2.5完整的FileNameSearch类

13.3GUI

13.3.1GUI布局

13.3.2测试GUI布局

13.3.3GUI类

13.3.4创建GUI

13.3.5选择按钮

13.3.6模拟对象

13.3.7搜索按钮

13.4完整的搜索器

13.5小结

13.6复习题

13.7练习题

13.8挑战题

第14章编程工具

14.1引言

14.2项目结构

14.2.1src目录

14.2.2build目录

14.2.3lib目录

14.2.4doc和javadoc目录

14.2.5reports目录

14.2.6deploy目录

14.2.7保证文件安全

14.3Ant-构建工具

14.3.1Ant概述

14.3.2项目元素

14.3.3属性

14.3.4path元素

14.3.5clean目标

14.3.6init目标

14.3.7compile.classes目标

14.3.8compile.tests目标

14.3.9test目标

14.3.10run目标

14.3.11javadoc目标

14.3.12deploy目标

14.3.13all目标

14.3.14使用构建文件

14.4版本控制

14.4.1CVS和Subversion

14.4.2Subversion系统信息库

14.4.3开始项目

14.4.4检验修订版

14.4.5更新、登记和冲突

14.4.6添加、删除和移动

14.4.7修订

14.4.8Status和Logs

14.4.9diff394

14.4.10复制和分支

14.4.11进一步研究

14.5集成开发环境

14.5.1使用IDE

14.5.2IDE和项目

14.5.3GUI构建器

14.5.4调试器

14.5.5UML工具

14.5.6命令行工具

14.5.7项目Web站点

14.6小结

14.7复习题

14.8练习题

14.9挑战题

第3部分程序开发案例

第15章案例研究概述

15.1引言

15.2案例研究

15.3案例研究的介绍

第16章邮件合并系统

16.1引言

16.2简要介绍

16.3回顾——一些研究

16.3.1XML

16.3.2DOM和SAX

16.3.3JDOM和dom4j

16.3.4初始试验

16.4数据存储

16.4.1初始分析

16.4.2初始设计思想

16.4.3具体设计

16.5GUI设计

16.5.1初始需求分析

16.5.2GUI的体系结构和设计

16.6显示邮件合并列表

16.6.1鼠标操作

16.6.2显示邮件合并细节

16.7菜单和操作

16.8更多操作

16.9练习题

16.10挑战题

第17章行人交叉路口模拟

17.1引言

17.2最初的问题定义

17.3最初的思考

17.3.1交通灯

17.3.2车辆指挥灯

17.3.3行人指挥灯

17.4首轮设计

17.5获得GUI

17.6GUI设计

17.7控制中的问题

17.8进一步设计

17.9小结

17.10练习题

17.11挑战题

第4部分Java编程语言详述

第18章Java语言参考

18.1引言

18.2语法和语义

18.3基本描述

18.4示例程序

18.5小结

第19章变量、类型和表达式

19.1引言

19.2注释

19.2.1目的

19.2.2概述

19.2.3语法

19.2.4描述

19.2.5例子

19.3标识符

19.3.1目的

19.3.2概述

19.3.3描述

19.3.4例子

19.4Unicode转义符

19.4.1目的

19.4.2概述

19.4.3描述

19.4.4例子

19.5字面量

19.5.1目的

19.5.2概述

19.5.3描述

19.5.4例子

19.6类型

19.6.1基本类型

19.6.2引用类型

19.6.3自动类型转换

19.7作用域

19.7.1目的

19.7.2概述

19.7.3描述

19.7.4例子

19.8变量

19.8.1变量声明

19.8.2变量初始化

19.8.3数组变量

19.9表达式和运算符

19.9.1基本表达式

19.9.2运算符

19.10源文件

19.11小结

19.12复习题

19.13练习题

第20章程序流程控制

20.1引言

20.2选择

20.2.1if语句

20.2.2switch语句

20.3迭代

20.3.1while循环语句

20.3.2do循环语句

20.3.3for循环语句

20.3.4循环行为检验

20.3.5foreach循环语句

20.4跳转语句

20.4.1break语句

20.4.2continue语句

20.4.3return语句

20.5递归

20.6小结

20.7复习题

20.8练习题

第21章类和包

21.1引言

21.2类

21.2.1类声明

21.2.2public、private和protected

21.2.3实例变量

21.2.4实例初始化器

21.2.5静态变量或类变量

21.2.6静态初始化器

21.2.7方法

21.2.8静态方法或类方法

21.2.9构造函数

21.2.10关键字this

21.3顶层类

21.3.1目的

21.3.2概述

21.3.3语法

21.3.4描述

21.4嵌套类

21.4.1顶层嵌套类

21.4.2成员类

21.4.3局部类

21.4.4匿名类

21.5枚举类型

21.5.1目的

21.5.2概述

21.5.3语法

21.5.4描述

21.5.5例子

21.6包

21.6.1目的

21.6.2概述

21.6.3语法

21.6.4描述

21.6.5例子

21.7静态加载

21.7.1目的

21.7.2概述

21.7.3语法

21.7.4描述

21.7.5例子

21.8小结

21.9复习题

21.10练习题

第22章继承和接口

22.1引言

22.2继承

22.2.1继承的概念

22.2.2关键字private和protected与继承性

22.2.3Final类

22.2.4方法覆盖(Overriding)

22.2.5Final方法

22.2.6方法调用表达式

22.2.7修改后的成员类名字查找

22.2.8构造函数与继承

22.2.9超类(Super)和隐含命名

22.2.10抽象(Abstract)类

22.2.11抽象(Abstract)方法

22.2.12从类对象继承的方法

22.3接口

22.3.1接口声明

22.3.2实现

22.4注释(Annotation)

22.4.1目的

22.4.2概述

22.4.3语法

22.4.4描述

22.4.5例子

22.5小结

22.6复习题

22.7练习题

第23章异常处理

23.1引言

23.1.1异常类

23.1.2Try、Catch与Finally

23.1.3异常的传递

23.1.4抛出(Throws)异常声明

23.1.5关键字throw

23.2小结

23.3复习题

第24章线程与并发

24.1引言

24.2Thread类

24.2.1目的

24.2.2概述

24.2.3语法

24.2.4描述

24.2.5例子

24.3同步方法

24.3.1目的

24.3.2概述

24.3.3语法

24.3.4描述

24.3.5例子

24.4同步语句

24.4.1目的

24.4.2概述

24.4.3语法

24.4.4描述

24.4.5例子

24.5小结

24.6复习题

24.7练习题

第5部分附录

附录A术语表

附录BCRC方法

B.1引言

B.2基本概念

B.3CRC卡片

B.4CRC方法过程

B.5一些问题

B.6文档

B.7设计

附录C在线文档

附录D运行Java程序

D.1从这里开始

D.2编译和运行Java程序

D.3使用Input、FileInput和FileOutput类

D.4使用DrawFrame和DrawPanel类

D.5使用CLASSPATH

附录EInput类

附录FFileInput类

附录GFileOutput类

附录HDrawFrame类

附录IDrawPanel类

附录J参考文献

J.1特性和Java使用

J.2单元测试和重构

J.3面向对象分析、设计和编程

J.4通用程序设计

J.5算法和数据结构

J.6并发和线程

J.7工具

J.8人机交互

书摘插图

第1部分对象和类的编程

第1章简介

目标:这一章主要介绍Java编程初学者需要用到的一些基本概念。

关键字:抽象,趣闻,术语,历史。

1.1引言

正如书名所表达的含义一样,本书是关于Java程序设计的。假设读者已经有了一些基本的计算机知识,熟悉基本的操作,比如文字处理、网上冲浪,或者甚至会编写一些程序。但本书并不要求读者有面向对象程序设计的经验。面向对象(object.oriented)是一个技术术语,它是Java内含的一种程序设计方法,也是一个优秀的程序员所必须掌握的。本书就是一本讲解如何使用Java进行面向对象程序设计的教程。

这一章首先给出一些阅读本书所需要的背景知识。在后续内容中,我们不仅会详细描述Java是什么,更重要的是教会您如何正确和高效地使用Java。学习完本书后,读者应当可以编写一些复杂实用的程序了。编写本书的一个重要原因就是希望读者可以解决一些实际的问题,并且得出相当专业的结论。本书不是简单的JaVa语言初级教程,而是对面向对象编程方法之魅力的充分展示。

对于编程新手,首先需要了解一些基本的术语。程序(program)(通常是长而复杂的)是计算机执行的一系列指令。这些指令说明计算机要做什么,究竟是用作文字处理、电子表格、玩游戏还是其他。程序员(programmer)的角色是使用一门程序设计语言(programming language)创建、编写一些程序,Java 是这样的程序设计语言之一。应用程序设计(application programming)或者开发,是为人们(最终用户)创建一些有实际用途的程序(应用程序)的过程。另一方面,系统程序设计(system programming)是从事编写、修改或者扩展操作系统(operating system)的活动。而操作系统是一个管理着计算机资源,并控制应用程序运行的复杂程序。

如上所述,探讨程序设计和Java语言需要对大量的技术术语有所了解。在学习本书的过程中,如果您发现一些不理解的术语,请试着查看一下本书的术语表(见“附录A”)。

1.2Java简史

20世纪90年代中期,Java第一次引起了关注,许多人开始用它创建Web内容和小型应用程序(applet)。之前创建网页使用的都是HTML语言,但这种语言不能建立复杂网页。接下来的几年中,随着各种语言和工具(XML、XHTIVlL、XSL、CSS、Flash、audio和video流等)的出现,整个Web内容创建环境发生了巨大的变化。虽然早期的JaVa常被当作万维网、编程语言,不过它的用途变化很快,现在已成为服务器端Web应用程序(servlet)而不仅仅是浏览器端应用程序的首选语言了。同时,Java正以各种方式广泛应用于嵌入式系统。按照惯例一直采用汇编语言或C语言编写嵌入式系统,但是Java的属性使它能够与这些语言共存(不是取代它们)。有意思的是,最初开发JaVa的目的就是在嵌入式系统中的应用,因此Java的使用又回到其初衷。

注意:

更为详细的Java发展史请参考Sun公司的Java网站http//java.sun.corn/。

事实上,Java的故事是非常有趣的。我们现在所称的Java来源于一个叫做Oak的编程语言,20世纪90年代初期由Sun微系统公司(Sun Microsystems)的一个开发组设计而成(Oak的名称源于Sun的员工从办公室的窗口看到一棵大橡树而产生的灵感)。开发Oak的目的是用于消费者电器设备的嵌入式系统编程,特别是诸如交互式有线电视(Cable TV)的控制设备和电子家居(electr Dnic home)的管理系统等领域。这些应用需要新的用户接口,要求容易联网并且有一个支持系统开发的编程工具。

实际上,可编程控制设备的消费市场并没有像预期的那样大规模地发展。然而,正如Intemet和Web被广泛使用一样,Oak的研究工作也在继续着。1994年初,为了适应Intemet的发展,Sun公司做出一个决定,把Oak改成基于Web应用的一门Intemet编程语言。原因是Oak包含了许多与Intemet相关的特性,包括“独立于平台的体系结构”,这意味着一些程序无需重新编写便可以运行在全世界各种不同类型的机器上。

1995年1月,Oak更名为Java(因为Oak这个名字已经在其他地方作为商用),逐渐发展成一门适合于建立基于Web应用的高可靠性编程语言。1995年5月,Sun公司发布了第1版Java开发工具包(JaVa Development Kit,JDK),允许全世界的开发者通过Intemet下载和使用Java。一个称为HotJaVa的Web浏览器支持JDK,可以通过嵌入在网页中的小应用程序运行Java程序,这一特性也相继被Microsoft公司和Netscape公司支持。从那时开始,Java就成为了日益流行的语言,如今已经被众多的开发者和软件公司广泛采用。他们开发了更多更好用的开发工具和其他软件。

1998年底,Java 2平台随Sun Java2 SDK标准版(J2SDK)一起发布。Sun公司增强了Java基本的J2SDK,增加了许多扩展环境的新特性,从而进一步发展了Java。这些特性的重点是用新方法构建程序,包括使用类库(class library),或者应用程序接口(Application Programmer Interface,API)。API具备更加广泛的功能,从而可以节省程序员大量的时间。

在2004年下半年,Sun公司发布了Java2平台的重要改进版本J2SE v5.0,其中包括泛型、注释和其他急需的特性。发布的同时,Sun公司还重新使用JDK——_J2SE开发工具包来表示已经实现的Java 2平台。Java这次变革引起了Java使用方式的巨大变化,特别是常用的使用和编写JaVa类库这种操作。而那些没有使用J2SE v5.0的书和程序都已经“过时”了,还可能导致Java用法错误。可以确信的是,本书中不会有Java的“过时”用法。

Java演变的结果是它发展成为一个大范围的、通用的开发系统。Java还非常适合开发那些Web环境之外的大型应用程序。事实上,使用Java可以创建所有的应用程序,特别值得强调的是在网络和通信领域内的广泛应用。正如先前提到的那样,Java已经成为开发中间件(middl,eware)应用程序的非常成功的语言。这些中间件成为运行在网络上的分布式应用程序的核心组件。另外,Java也被许多大学视为程序设计的教学语言。而且,Java也广泛运用在许多嵌入式系统中,例如移动电话、机顶盒和其他消费产品,都使用Java 2平台的一种变体,称为Java 2平台的Micro版本(J2ME)。JaVa正如Oak最初提出。

1.3 Java生逢其时

Java最突出的一个特点,就是在如此短的时间里迅速成为一门非常流行的语言。因此有必要探究JaVa是怎样创造出如此多的奇迹的。

Java并不是一种完美的语言,但很重要的一点是,它几乎融合了编程语言和编程方法所有重要和优秀的思想。另外,也有其他一些因素促使Java获得了成功。

它看起来像用户熟悉的其他一些流行的语言,如c、C++和Smalltalk。这种相似性避免了潜在用户把Java看作“很另类”的一门新语言,而认为不值得花时间去学它的问题。

Web越来越流行,而Java与它是紧密相关的,这种关联给了.Java很大的优势。

编程“领袖”喜欢它。领袖是新的编程语言的早期采用者,即使它们(指语言,而不是领袖)还不成熟,也有助于迅速传播语言信息。

您可以免费获得!这是非常重要的,因为这样可以使潜在用户用最小的代价(至少直接在金钱方面)来试用一种新的语言。

更为有趣的是,关于一种新语言,以上列表显示的最重要特性是社会方面的——想到用它是因为它可以完成人们现在想做的事情。而技术方面的考虑却成了第二位。

总而言之,Java语言拥有良好的特性(面向对象)和最好的价格(免费),在最恰当的地方(在Web上)诞生,又在最合适的时间(正好在Web逐渐流行时)出现。

1.4 Java是什么

Java是一个通用的标志,包括了Java编程语言、开发工具和环境,以及全部已成为标准的Java类库和API函数。很大程度上,所有这些元素都是不可分割的。所以学习Java就是学习以上所有的内容。有时,您见到的“Java编程系统”或“Java 2平台”这些名词强调的不仅仅指编程语言本身。

Java是一种“面向对象的编程语言”。本章将解释面向对象的含义。现在我们需要认识到,一门编程语言是以纯文本格式编写程序的,面向对象的开发是设计和构建系统的现代方法,这一方法通过把面向对象的概念嵌入在编程语言当中得以充分体现。

如今,面向对象的开发方法为解决软件开发过程中出现的严重问题,提供了广泛可行的和实际的解决方案。历史上真正成功的完美的软件开发的确是凤毛麟角,于是面向对象就显得更加重要。其实这里可能还会存在一些误解。有许多已交付的软件没有被用起来、很多软件开发项目存在许多失败之处或者软件交付时间一再推迟而且质量很差等,但实际上还是存在许多非常好和非常可靠的软件。不要以为在您的软件开发过程中,采用了“面向对象”就可以魔术般地解决所有问题。我们能够教给您的是一个概念性的框架和软件开发的方法,而解决更多的问题需要以大量的实践经验为基础。本书的目的也是要把Java中包含的绝大多数知识和经验传授给您,最后就要看你能否努力和高效地学习了。

……

Java软件开发(第三版)

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有