内容介绍
根据Java语言中面向对象编程的本质特征和面向对象编程课程的基本教学要求,本书详细介绍了面向对象编程的基本理论和方法,并介绍了Java语言及其面向对象的基本特征、基本技术。整本书分为10章首先,介绍了面向对象编程、详细介绍了Java语言的基本知识,以及面向对象思想在Java语言中的实现和使用,最后介绍了Java图形用户界面、Applet、数据库等相关知识。
书中用大量的例子进行讲解,力求通过例子让读者更形象地理解面向对象的思想,快速掌握Java编程技术。这本书难度适中,通俗易懂,使用方便,覆盖面广,条理清晰。每章都附有写得很好的实验和练习,方便读者练习和巩固所学知识。本书可作为高校Java编程课程的教材,也可作为读者自学用书。
目录
- 第1章Java语言概述1
- 1.1面向对象程序设计1
- 1.1.1面向对象程序设计思想的诞生1
- 1.1.2面向对象与面向过程的对比2
- 1.1.3面向对象技术的背景和特点5
- 1.2Java概述5
- 1.2.1Java的起源和发展6
- 1.2.2Java特性6
- 1.2.3Java体系结构7
- 1.3Java运行机制与JVM7
- 1.3.1JVM的体系结构8
- 1.3.2JVM的运行机制8
- 1.4Java类库9
- 1.5安装Java开发工具11
- 1.5.1下载JDK11
- 1.5.2安装JDK12
- 1.5.3设置Java运行环境14
- 1.6使用命令行15
- 1.7使用集成开发环境17
- 1.7.1使用JCreator17
- 1.7.2使用Eclipse19
- 1.8第一个Java程序:整数相加23
- 1.8.1开发源代码24
- 1.8.2编译运行24
- 小结25
- 习题25
- 上机指导25
- 实验一:编译Java程序25
- 第2章Java语言基础27
- 2.1数据类型27
- 2.1.1整型27
- 2.1.2浮点型28
- 2.1.3char型29
- 2.1.4boolean型29
- 2.1.5基本数据类型值间的转换30
- 2.2变量31
- 2.2.1变量声明31
- 2.2.2变量名和变量类型32
- 2.2.3变量的初始化32
- 2.2.4final变量32
- 2.3运算符33
- 2.3.1算术运算符33
- 2.3.2关系和逻辑运算符35
- 2.3.3位运算符36
- 2.3.4赋值运算符36
- 2.3.5其他运算符37
- 2.4表达式和语句38
- 2.4.1表达式38
- 2.4.2语句39
- 2.5控制结构40
- 2.5.1条件语句40
- 2.5.2循环语句43
- 2.5.3跳转语句45
- 2.6字符串46
- 2.6.1String类型46
- 2.6.2StringBuffer类型50
- 2.7数组53
- 2.7.1数组的声明与创建53
- 2.7.2数组的初始化53
- 2.7.3数组的常用操作56
- 2.8命名规范59
- 2.8.1标识符命名规则59
- 2.8.2Java中提倡的命名习惯60
- 2.9注释60
- 2.9.1单行注释60
- 2.9.2区域注释60
- 2.9.3文档注释61
- 小结62
- 习题62
- 上机指导63
- 实验一:基本数据类型的定义及转换63
- 实验二:使用程序控制结构63
- 实验三:String的使用64
- 实验四:数组的使用65
- 第3章类与对象66
- 3.1面向对象程序设计概述66
- 3.1.1面向对象术语66
- 3.1.2面向对象程序设计方法的优点67
- 3.2面向对象与UML建模68
- 3.2.1为什么需要建模68
- 3.2.2UML建模语言68
- 3.2.3UML的面向对象分析设计69
- 3.3Java语言与面向对象特性70
- 3.4类的定义和对象的创建71
- 3.4.1类的基本结构71
- 3.4.2类之间的关系71
- 3.4.3构造函数74
- 3.4.4类成员76
- 3.4.5对象的创建79
- 3.5方法79
- 3.5.1方法的定义79
- 3.5.2方法的重载81
- 3.5.3递归85
- 3.6静态成员87
- 3.6.1静态方法和静态变量87
- 3.6.2静态变量和常量88
- 3.6.3静态成员的访问89
- 3.6.4main()方法92
- 3.6.5Factory方法93
- 3.7包95
- 3.7.1包的定义95
- 3.7.2类的导入96
- 3.7.3静态导入98
- 3.8成员的访问控制99
- 3.8.1公共类型:public100
- 3.8.2私有类型:private100
- 3.8.3默认类型:default101
- 3.8.4保护类型:protected102
- 3.9封装102
- 3.10利用系统已有的类105
- 3.10.1Date类105
- 3.10.2GregorianCalendar类107
- 小结110
- 习题110
- 上机指导110
- 实验一:类的定义111
- 实验二:成员变量的使用111
- 实验三:编写更复杂的类111
- 实验四:静态成员的创建112
- 第4章继承与多态114
- 4.1继承概述114
- 4.1.1超类、子类114
- 4.1.2继承层次114
- 4.2Java中的继承115
- 4.2.1派生子类115
- 4.2.2继承规则116
- 4.2.3方法的继承与覆盖119
- 4.2.4this与super121
- 4.3强制类型转换124
- 4.4动态绑定127
- 4.5终止继承:Final类和Final方法128
- 4.5.1Final类128
- 4.5.2Final方法129
- 4.6抽象类130
- 4.6.1抽象类131
- 4.6.2抽象的方法132
- 4.7多态134
- 4.8所有类的超类:Object类136
- 小结139
- 习题139
- 上机指导140
- 实验一:抽象类的定义及调用140
- 实验二:使用多态141
- 实验三:使用Object类141
- 实验四:构造函数的继承142
- 实验五:对象引用的多态143
- 第5章接口与内部类145
- 5.1接口的特性145
- 5.2接口的定义146
- 5.3接口的使用147
- 5.3.1接口实现的基本语法147
- 5.3.2接口中方法的实现与使用147
- 5.4接口与抽象类149
- 5.5接口与回调151
- 5.6内部类152
- 5.6.1内部类概述153
- 5.6.2内部类语法规则153
- 5.6.3局部内部类156
- 5.6.4匿名内部类159
- 5.6.5静态内部类160
- 5.6.6关于内部类的讨论162
- 小结162
- 习题162
- 上机指导163
- 实验一:接口的创建163
- 实验二:内部类的创建163
- 实验三:创建多个接口164
- 实验四:接口和继承的混合使用165
- 第6章输入/输出和异常处理166
- 6.1I/O流166
- 6.1.1流的层次166
- 6.1.2输入流和输出流167
- 6.1.3字节流和字符流170
- 6.1.4随机存取文件流173
- 6.2I/O流的使用174
- 6.2.1标准的I/O流174
- 6.2.2基本的I/O流180
- 6.2.3过滤流182
- 6.2.4文件随机读写183
- 6.2.5流的分割185
- 6.3对象的序列化185
- 6.3.1存储对象186
- 6.3.2对象的序列化186
- 6.3.3对象序列化中的一些问题187
- 6.4文件管理188
- 6.4.1File类简介188
- 6.4.2使用File类190
- 6.5异常处理191
- 6.5.1异常处理概述191
- 6.5.2异常的层次结构199
- 6.5.3自定义异常202
- 小结205
- 习题205
- 上机指导205
- 实验一:I/O流的使用206
- 实验二:使用异常处理206
- 实验三:处理流的使用206
- 实验四:自定义异常处理208
- 第7章图形用户界面的实现209
- 7.1图形用户界面概述209
- 7.2Swing与AWT210
- 7.2.1Swing与AWT之间的关系210
- 7.2.2关于Swing与AWT控件的混用211
- 7.3事件处理212
- 7.3.1事件的层次结构213
- 7.3.2窗体事件214
- 7.3.3鼠标事件214
- 7.3.4事件适配器216
- 7.4创建图形用户界面216
- 7.4.1窗体216
- 7.4.2面板218
- 7.4.3标签218
- 7.4.4按钮221
- 7.5布局管理223
- 7.5.1流布局223
- 7.5.2网格布局225
- 7.5.3卡片布局227
- 7.6选择控件229
- 7.6.1控件概述229
- 7.6.2文本框230
- 7.6.3文本区233
- 7.6.4单选按钮、复选框236
- 7.7菜单和工具栏239
- 7.7.1菜单239
- 7.7.2工具栏243
- 7.8对话框245
- 7.9图形文本绘制248
- 7.9.1画布248
- 7.9.2画笔249
- 7.9.3文本251
- 7.9.4字体252
- 7.10图像处理255
- 7.11综合示例:围棋程序258
- 小结268
- 习题268
- 上机指导268
- 实验一:使用按钮268
- 实验二:使用Graphics类绘图269
- 实验三:用户注册界面269
- 实验四:编写计算器程序271
- 第8章Applet应用程序274
- 8.1Applet基础274
- 8.1.1查看Applet274
- 8.1.2Applet与浏览器275
- 8.1.3显示Applet276
- 8.1.4Applet生命周期276
- 8.2Applet类API277
- 8.3Applet的HTML标记和属性278
- 8.3.1定位属性279
- 8.3.2编码属性279
- 8.4创建Applet280
- 8.4.1简单Applet280
- 8.4.2向Applet传递参数282
- 8.5Applet与Application284
- 8.6Applet弹出窗口287
- 8.7Applet安全288
- 8.7.1Applet安全控制288
- 8.7.2Applet沙箱289
- 8.8实例研究:显示动画289
- 8.8.1动画原理及重新绘制290
- 8.8.2Timer类简介290
- 小结292
- 习题292
- 上机指导293
- 实验一:创建Applet293
- 实验二:在Applet中显示图像界面293
- 实验三:显示Applet传递的参数294
- 第9章网络通信295
- 9.1网络通信概述295
- 9.1.1TCP/IP、UDP295
- 9.1.2Socket套接字296
- 9.2Java网络通信机制297
- 9.3URL通信298
- 9.3.1URL的创建299
- 9.3.2解析URL299
- 9.3.3获取数据300
- 9.4InetAddress类301
- 9.5Socket套接字303
- 9.5.1ServerSocket类303
- 9.5.2Socket类304
- 9.5.3组播套接字307
- 9.6综合示例:聊天室程序310
- 小结315
- 习题315
- 上机指导316
- 实验一:创建URL连接316
- 实验二:获得URL中的数据316
- 第10章高级应用317
- 10.1线程317
- 10.1.1Java中的线程模型317
- 10.1.2线程的创建319
- 10.1.3线程的同步321
- 10.1.4线程的调度323
- 10.1.5线程的其他方法325
- 10.2Servlet和JSP技术328
- 10.2.1JSP概述328
- 10.2.2JSP语法329
- 10.2.3JSP与JavaBean332
- 10.2.4Servlet技术334
- 10.3数据库技术337
- 10.3.1SQL基础337
- 10.3.2JDBC层次结构338
- 10.3.3加载数据库驱动340
- 10.3.4基本数据库访问341
- 小结343
- 习题343
- 上机指导343
- 实验一:创建多线程343
- 实验二:使用JSP344