Java语言程序设计第九版第八章答案
本章节主要讲解Java语言中的面向对象编程概念,包括类、对象、构造器、成员访问操作符、匿名对象、NullPointerException、数组等。
类和对象
* 在Java中,类是对象的蓝图,定义了对象的状态和行为。
* 对象是类的实例,每个对象都有其自己的状态和行为。
* 语法to define a class is `public class ClassName {}`,其中 `ClassName` 是类的名称。
* 语法to declare a reference variable for an object is `ClassName v;`,其中 `v` 是对象的引用变量。
构造器
* 构造器是一种特殊的方法,当使用new operator创建对象时被调用。
* 构造器没有返回类型,不管是void还是其他类型。
* 如果类没有定义构造器,那么该类将有一个默认构造器。
* 构造器的作用是初始化对象的状态。
成员访问操作符
* 成员访问操作符是用于访问对象的数据字段或方法的操作符。
* 语法为 `objectReference.member`,其中 `objectReference` 是对象的引用变量,`member` 是要访问的数据字段或方法。
匿名对象
* 匿名对象是没有引用变量引用的对象。
* 匿名对象的生命周期很短,一旦创建后就会被垃圾回收。
NullPointerException
* NullPointerException是当null引用变量尝试访问对象的成员时抛出的异常。
* 例如,`Object obj = null; obj.toString();` 将抛出NullPointerException。
数组
* 数组是对象的一种,可以存储多个元素。
* 数组的默认值取决于元素的类型,例如numeric类型的数组元素的默认值为0,boolean类型的数组元素的默认值为false,char类型的数组元素的默认值为‘\u0000’,对象类型的数组元素的默认值为null。
ShowErrors类
* ShowErrors类有一个默认构造器,定义为 `public ShowErrors() {}`。
* 由于ShowErrors类没有定义带参数的构造器,所以new ShowErrors(5)将抛出编译错误。
* ShowErrors类也没有定义名为x()的方法,所以t.x()将抛出编译错误。
编程错误
* (a) ShowErrors类没有定义带参数的构造器,所以new ShowErrors(5)将抛出编译错误。
* (b) ShowErrors类没有定义名为x()的方法,所以t.x()将抛出编译错误。
* (c) 变量c为null时,println语句将抛出NullPointerException。
* (d) new C(5.0)不匹配类C中的任何构造器,将抛出编译错误。