顶部
收藏

Java面向对象程序设计

“十一五”国家规划课题研究成果

作者:
苏健
定价:
36.70元
ISBN:
978-7-04-033158-5
版面字数:
660.000千字
开本:
16开
全书页数:
390页
装帧形式:
平装
重点项目:
“十一五”国家规划课题研究成果
出版时间:
2012-01-19
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
程序设计基础

本书用Java语言讲解面向对象程序设计的思想、技术与方法。全书以案例为驱动,以类设计为重点,讲授封装、继承、多态等技术要点。在讲解内容时,多采用连续相关的案例集,案例难度适中且易于理解。

本书内容以Java语言和类的使用为起点,逐步过渡到类的封装设计,进而深入到类和接口的继承设计,使读者能够渐进式地了解和掌握面向对象编程的核心思想和技术方法。书中还介绍了Java的泛型与集合框架、异常处理机制、嵌套类、枚举类、输入/输出流、多线程、网络编程等内容,并以这些内容来加深读者对面向对象程序设计相关技术思想的理解。

本书可以作为高等学校计算机及相关专业的面向对象程序设计课程教材,也可作为从事计算机相关工作的科技人员、计算机爱好者及各类自学人员的Java语言学习用书。

  • 前辅文
  • 第1章 引言
    • 1.1 面向对象程序设计简介
      • 1.1.1 程序设计方法:面向过程与面向对象
      • 1.1.2 基本概念:对象、类、消息传递
      • 1.1.3 基本特征:封装性、继承性、多态性
    • 1.2 Java语言简介
      • 1.2.1 Java的诞生
      • 1.2.2 Java运行环境与平台无关性
      • 1.2.3 Java的主要特点
      • 1.2.4 Java的3种平台
    • 习题
  • 第2章 Java语言基础
    • 2.1 Java语言开发环境的安装与配置
      • 2.1.1 JDK的安装与配置
      • 2.1.2 Eclipse的安装与配置
    • 2.2 使用JDK或Eclipse开发Java程序
      • 2.2.1 通过JDK开发运行程序
      • 2.2.2 通过Eclipse工具编写运行程序
    • 2.3 编写Java应用程序
      • 2.3.1 包含main方法的类
      • 2.3.2 屏幕输出与键盘输入
      • 2.3.3 编写多个静态方法
    • 2.4 标识符、关键字与字面值
      • 2.4.1 标识符
      • 2.4.2 关键字和字面值
    • 2.5 变量与类型
      • 2.5.1 变量
      • 2.5.2 8种基本类型
      • 2.5.3 基本数据类型之间的转换
      • 2.5.4 数组与字符串简介
    • 2.6 运算符与表达式
      • 2.6.1 算术运算
      • 2.6.2 移位运算
      • 2.6.3 位运算
      • 2.6.4 赋值运算
      • 2.6.5 关系运算与逻辑运算
      • 2.6.6 其他常用的运算符
    • 2.7 语句
      • 2.7.1 语句简述
      • 2.7.2 分支语句
      • 2.7.3 循环语句
      • 2.7.4 控制转移语句
    • 习题
  • 第3章 类与对象基础
    • 3.1 类与对象简述
      • 3.1.1 对象与类的关系
      • 3.1.2 类的域、方法、构造器
      • 3.1.3 构造器:对象的创建与初始化
      • 3.1.4 对象引用与引用变量
      • 3.1.5 方法与域的使用方式
      • 3.1.6 Java类库与类型的导入
    • 3.2 Math类
      • 3.2.1 Math类的静态成员及功能
      • 3.2.2 关于方法重载的讨论
      • 3.2.3 关于访问控制修饰符的简要说明
    • 3.3 字符串:String类与StringBuffer类
      • 3.3.1 String类与字符串对象
      • 3.3.2 StringBuffer类
    • 3.4 数组对象
      • 3.4.1 一维数组的声明、创建与初始化
      • 3.4.2 一维数组的复制:使用System.arraycopy()方法
      • 3.4.3 一维数组的排序与搜索:使用java.util.Arrays类
      • 3.4.4 多维数组的创建及使用
    • 3.5 基本数据类型的包装类
      • 3.5.1 包装类的功能与成员构成
      • 3.5.2 Integer类
      • 3.5.3 Double类
      • 3.5.4 Character类
    • 3.6 大数处理与BigInteger类
      • 3.6.1 数值计算的精度损失和运算溢出问题
      • 3.6.2 BigInteger类
    • 3.7 时间处理
      • 3.7.1 时间与时间处理简述
      • 3.7.2 Date类与SimpleDateFormat类
      • 3.7.3 Calendar类
      • 3.8 异常处理简介与Exception类
    • 3.8.1 一个处理异常的例子
      • 3.8.2 异常抛出与Exception类
    • 习题3
  • 第4章 类的设计与封装
    • 4.1 类设计的基本思路
      • 4.1.1 立足点的改变:从类的使用者到设计者
      • 4.1.2 类设计的基本思路
    • 4.2 矩形类的初步设计
    • 4.3 类声明与域的定义
      • 4.3.1 类名的命名习惯
      • 4.3.2 域的定义:声明方式与命名习惯
      • 4.3.3 域的初值与final域
      • 4.3.4 域的读写访问方式
      • 4.3.5 域的特点与生存周期
    • 4.4 设计构造器
      • 4.4.1 设计缺陷分析:缺失自定义构造器所带来的问题
      • 4.4.2 自定义构造器:将对象的初始化代码写入构造器
      • 4.4.3 默认构造器:没有自定义构造器时的唯一选择
      • 4.4.4 当前对象的域:解决域和局部变量的同名问题
      • 4.4.5 构造器重载:提供对象的多种创建方式
      • 4.4.6 通过this调用重载的构造器:避免构造器的代码重复
    • 4.5 设计实例方法
      • 4.5.1 设计缺陷分析:使用端功能代码的简单重复
      • 4.5.2 设计实例方法:将常用对象功能定义为实例方法
      • 4.5.3 实例方法的声明方式、方法重载、命名习惯、调用方式
      • 4.5.4 实例方法中访问当前对象的成员
      • 4.5.5 在实例方法中访问指定对象成员、构造器和静态成员
      • 4.5.6 实例方法的常规用途和功能分类
    • 4.6 方法设计的常规技术:代码抽取、参数化简
      • 4.6.1 常见的代码设计问题和应对手段
      • 4.6.2 外部调用方法与内部调用方法
      • 4.6.3 方法的代码抽取与参数化简
    • 4.7 方法的形式参数与返回类型
      • 4.7.1 形式参数变量与局部变量
      • 4.7.2 关于参数传递:理解对象引用的传递
      • 4.7.3 方法参数和返回类型的常规用途
      • 4.7.4 参数合法性检查与异常抛出
    • 4.8 设计类方法
      • 4.8.1 类方法使用示例:用类方法创建矩形对象
      • 4.8.2 类方法的声明、方法重载、调用方式
      • 4.8.3 类方法的可访问内容
      • 4.8.4 类方法的常规用途和代码设计
    • 4.9 实例初始器与静态初始器
      • 4.9.1 实例初始器:构造器代码执行之前的对象初始化
      • 4.9.2 静态初始器:类加载时的静态初始化
    • 4.10 声明包:类型的组织
      • 4.10.1 包声明与类型导入
      • 4.10.2 包的命名与唯一包名
      • 4.10.3 包的文件目录结构
      • 4.10.4 打包与JAR文件
    • 4.11 访问控制和封装:数据与实现细节的隐藏
      • 4.11.1 关于访问控制的语言规定
      • 4.11.2 访问控制示例:防止对成员或构造器的非法访问
      • 4.11.3 访问控制示例:隐藏软件的设计和实现细节
    • 习题4
  • 第5章 类继承与接口的设计
    • 5.1 类的单重继承关系
      • 5.1.1 说明类的直接超类:类继承关系的确定
      • 5.1.2 类的单重继承关系:子类、超类、Object类
      • 5.1.3 超类成员的可继承性:可以继承直接超类的哪些成员?
      • 5.1.4 关于类继承的初步认识
    • 5.2 类继承链上类和对象的初始化
      • 5.2.1 类加载与初始化机制:继承链上类的加载顺序与初始化
      • 5.2.2 对象初始化与构造器调用链:通过super调用直接超类构造器
      • 5.2.3 设计子类的构造器
    • 5.3 重定义超类的域和方法:隐藏或覆盖
      • 5.3.1 隐藏从超类继承的域
      • 5.3.2 覆盖或隐藏从超类继承的方法
      • 5.3.3 通过super访问从超类继承的成员
      • 5.3.4 方法覆盖的设计:通过super扩展超类方法的功能
    • 5.4 抽象类及其子类
      • 5.4.1 抽象超类及其子类的设计示例
      • 5.4.2 抽象类的声明与主要特点
      • 5.4.3 抽象方法的声明与实现
      • 5.4.4 抽象类与抽象方法的设计意图
    • 5.5 超类的设计:上转型对象与方法覆盖多态
      • 5.5.1 类继承链上的对象转型:向上转型和向下转型
      • 5.5.2 上转型对象的方法覆盖多态
      • 5.5.3 超类设计与上转型对象技术应用示例
    • 5.6 接口及其实现类
      • 5.6.1 接口声明与实现类示例
      • 5.6.2 接口声明与成员定义:兼谈与抽象类的异同之处
      • 5.6.3 接口的实现类
      • 5.6.4 接口的多重继承:继承成员的歧义问题
    • 5.7 接口的设计:使用接口回调技术
      • 5.7.1 接口回调与方法覆盖多态
      • 5.7.2 接口回调技术的应用特点:与上转型对象技术比较
    • 习题5
  • 第6章 集合框架与泛型
    • 6.1 Java集合框架简介:用途和主要构成
    • 6.2 泛型简介:泛型类、泛型接口、泛型方法
      • 6.2.1 泛型与类型参数
      • 6.2.2 泛型的作用
      • 6.2.3 泛型的转型与通配符类型
    • 6.3 Collection<E>接口与Iterator<E>接口
    • 6.4 List<E>接口及其实现类
      • 6.4.1 List<E>接口与ListIterator<E>接口
      • 6.4.2 LinkedList<E>与ArrayList<E>的使用
    • 6.5 Set<E>、SortedSet<E>接口及其实现类
      • 6.5.1 Set<E>接口与HashSet<E>类
      • 6.5.2 集合元素的相同比较:equals方法和hashCode方法
      • 6.5.3 SortedSet<E>接口与TreeSet<E>类
      • 6.5.4 集合元素的大小比较:Comparable<T>接口与Comparator<T>接口
    • 6.6 Queue<E>接口与LinkedList<E>类
    • 6.7 Map<K,V>、SortedMap<K,V>接口及其实现类
      • 6.7.1 Map<K,V>接口与HashMap<K,V>类
      • 6.7.2 SortedMap<K,V>接口与TreeMap<K,V>实现类
    • 6.8 集合与通配符类型的应用示例
    • 习题6
  • 第7章 异常类、嵌套类、枚举类型
    • 7.1 异常处理
      • 7.1.1 自定义异常类:兼谈异常类的继承关系
      • 7.1.2 编写trycatchfinally:异常的发生、俘获与处理
      • 7.1.3 运行时异常与非运行时异常
    • 7.2 嵌套类:内部类和静态嵌套类
      • 7.2.1 嵌套类简介
      • 7.2.2 作为成员的内部类和静态嵌套类
      • 7.2.3 局部类和匿名类
    • 7.3 枚举类型
    • 习题7
  • 第8章 输入/输出流
    • 8.1 输入/输出流与相关类
    • 8.2 File类:文件与目录的表示
    • 8.3 文件流、数组流、字符串流
      • 8.3.1 流的通常使用方式
      • 8.3.2 文件输入/输出流
      • 8.3.3 数组输入/输出流
      • 8.3.4 字符串输入/输出流
    • 8.4 缓冲流与数据流
      • 8.4.1 缓冲输入/输出流
      • 8.4.2 数据输入/输出流
    • 8.5 对象流与对象序列化
      • 8.5.1 对象序列化与持久化
      • 8.5.2 对象复制:创建对象副本
    • 8.6 RandomAccessFile:文件的随机访问
    • 习题8
  • 第9章 多线程与网络编程基础
    • 9.1 多线程编程基础
      • 9.1.1 多线程简述
      • 9.1.2 线程设计:编写Thread类的子类
      • 9.1.3 线程设计:使用Runnable接口
      • 9.1.4 线程生存周期和线程调度
      • 9.1.5 通过join和yield方法来协调线程运行
      • 9.1.6 线程间数据共享问题与同步方法
      • 9.1.7 在同步方法中使用wait和notifyAll方法
      • 9.1.8 守护线程及其特点
    • 9.2 Java网络编程基础
      • 9.2.1 网络基本知识
      • 9.2.2 编写面向连接的网络应用
      • 9.2.3 编写多线程服务端程序:支持多个网络连接
      • 9.2.4 编写无连接的网络应用
      • 9.2.5 编写多线程客户端程序
    • 习题9
  • 参考文献

相关图书