Java程序设计
2010-1
清华大学出版社
娄不夜 主编
357
为更好地适应Java技术的发展、满足Java程序设计教学的需要,本版在原书《面向对象的程序设计与Java》的基础上进行了修订和补充。本版的新内容如下。(1)assert断言包含在3.1节(语句概述)中。(2)格式化输出在3.5.3小节介绍。(3)从控制台获取输入在3.5.4小节介绍。(4)枚举类型在4.8节介绍。(5)基本类型与包装类之间的自动转换在5.4.2小节介绍。(6)嵌入类在6.2节介绍。(7)标注在7.3节介绍。(8)import static声明在7.4.2小节介绍。(9)Random Access File在11.4.3小节介绍。(10)泛型和集合框架在第12章介绍。这些新增内容对原书原有内容没有影响,相互之间也相对独立。教学时可根据需要有选择地讲授。本书在编排时使用了一些符号和特殊处理,下面进行简单说明。(1)代码左边的行号是为了引用和讲述方便而增加的,不是代码的一部分。(2)在语言成分的语法格式描述中,有关符号的含义如下。
为更好地适应Java技术的发展、满足Java程序设计教学的需要,本版在原书《面向对象的程序设计与Java》的基础上进行了修订和补充。 本书从类和对象的概念人手,着力介绍Java面向对象的程序设计,旨在帮助读者建立面向对象的思想、掌握面向对象编程的基本方法和技能。 本书以“零”为起点,较为全面地介绍了Java语言的各种特性。全书共分14章,内容包括:类和对象、继承和嵌人类、接口和包、标注、例外处理、线程与同步、文件和输入输出流、泛型和集合框架、GUI设计、applet等。 本书立足基本理论和方法,注重实践与应用环节。对概念、原理和方法的描述力求准确、严谨,对示例代码力求精简、规范。本书每章的最后两部分都是小结和精选习题,便于读者复习、总结、巩固、练习与提高。 本书可作为普通高等院校计算机及相关专业的教材,也可作为读者自学Java语言和面向对象编程技术的参考书。
第1章 Java程序初步 1.1 Java语言特点 1.1.1 面向对象 1.1.2 平台无关 1.2 一个简单的Java程序 1.3 编译和运行Java程序 1.3.1 Java开发包简介 1.3.2 编译和运行Java程序 1.4.Java词法结构 1.4.1 空白符号 1.4.2 注释 1.4.3 词法符号 小结 习题第2章 数据与数据运算 2.1 基本数据类型 2.1.1 分类及特性 2.1.2 文字 2.1.3 变量 2.2 基本类型转换 2.2.1 自动转换 2.2.2 强制转换 2.3 运算符 2.3.1 算术运算符 2.3.2 关系运算符 2.3.3 逻辑运算符 2.3.4 位逻辑运算符 2.3.5 位移运算符 2.3.6 三目条件运算符 2.3.7 赋值运算符 2.4 表达式 2.4.1 表达式的结果和类型 2.4.2 表达式的计算次序 小结 习题第3章 Java语句 3.1 语句概述 3.2 选择语句 3.2.1 if语句 3.2.2 ifelse语句 3.2.3 switch语句 3.3 循环语句 3.3.1 while语句 3.3.2 dowhile语句 3.3.3 for语句 3.4 跳转语句 3.4.1 return语句 3.4.2 break语句 3.4.3 continue语句 3.5 几个类及使用 3.5.1 Math类 3.5.2 System类 3.5.3 格式化输出 3.5.4 从控制台获取输入 小结 习题第4章 类和对象 4.1 引用类型 4.2 类的定义与对象的创建 4.3 成员变量 4.3.1 成员变量的定义 4.3.2 成员变量的初始化 4.3.3 对成员变量的访问 4.4 方法 4.4.1 方法定义 4.4.2 方法调用 4.4.3 构造方法 4.4.4 方法重载 4.4.5 类方法 4.5 以对象为单位的信息传递 4.5.1 用对象作为参数 4.5.2 将对象作为返回值 4.6 “has-a”关系 4.7 对象清除 4.8 枚举类型 4.8.1 基本的枚举类型及使用 4.8.2 枚举类型的方法 4.8.3 带参数的枚举常量与构造方法 小结 习题 第5章 字符串和包装类第6章 继承和嵌入类第7章 接口和包第8章 数组第9章 例外处理第10章 线程与同步第11章 文件与输入输出第12章 泛型和集合框架第13章 GUI设计第14章 Java applet参考文献
插图:一个正确的方法覆盖需要满足以下要求:(1)覆盖方法与被覆盖方法的返回类型要相同。如果被覆盖方法的返回类型为void,那么覆盖方法的返回类型也必须是void。(2)覆盖方法的访问级别不能低于被覆盖方法的访问级别。具体来说:·如果被覆盖方法的访问级别为默认的,那么覆盖方法的访问级别既可以是默认的,也可以是protected或者public。·如果被覆盖方法的访问级别为proteeted,那么覆盖方法的访问级别可以是public或者protected。·如果被覆盖方法的访问级别为public,那么覆盖方法的访问级别只能是public。(3)覆盖方法不能比被覆盖方法抛出更多的受检查例外(checked except:ion)的类型。当出现方法覆盖时,如果要在子类中访问直接超类中被覆盖的方法,可以使用包含关键字super的方法访问表达式,即super.《方法名>(【】)除此之外,无法通过提升实例引用的类型来访问超类中被覆盖的方法。这是方法覆盖和成员变量隐藏的区别所在。当采用下面格式调用方法时:(()).([])系统首先会在编译时检查被调用的方法是否为指定超类的成员。而在运行时,系统则调用子类中相应的成员方法。也就是说,如果存在方法覆盖,该格式实际调用的仍然是子类中定义的覆盖方法而不是超类中的被覆盖方法。与此相似,当超类类体代码中出现用简单名字调用其成员方法时,程序运行时调用的不见得就一定是超类中的成员方法。如果子类中定义有覆盖方法,而调用的主体又是子类实例,那么实际调用的就会是子类中定义的覆盖方法。
《Java程序设计(第2版)》特色:突出面向对象程序设计的思想、方法和技术。较为全面地介绍Java语言的各种特性。立足基本理论和方法、注重实践与应用环节。
不是人看得
相比较于Java从入门到精通,这本书我觉得写得才真的好,国外的教程虽然含金量高,但由于表述原因或者是讲的东西过于深刻,非常不适合初学者,而国内的很火的从入门到精通,书是什么都介绍什么也没说具体,而且还有错误。相比较之下,这本书把Java入门中最重要的一些章节全都介绍了,而且介绍的比较详细,通俗易懂,还有相当多的代码量适度的例题。我 觉得一本适合自己的好书是读起来不那么费劲不会非常努力却很难看懂,又不那么轻松觉得说的都是废话理论过于浅显。总之,对我来说,这本书写的非常好,非常适合Java入门的同学学习!