logo资料库

Java语言程序设计基础第十版第九章课后复习题答案.docx

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
9.1 答:对象(object)代表现实世界中可以明确标识的一个实体。类是一个模板、蓝本或者说是合约,用 来定义对象的数据域是什么以及方法是做什么的。一个对象是类的一个实例。 可以从一个类中创建多个 实例。 9.2 类的声明和定义 9.3 答:先定义好类,然后以类名声明变量。 9.4 答 :类 对象名=new 类的构造方法; 9.5 答:构造方法必须具备和所在类相同的名字。 构造方法没有返回值类型,甚至连 void 也没有。 构造方法是在创建一个对象使用 new 操作符时调用的。 构造方法的作用是初始化对象。 9.6 答:当且仅当类中没有明确定义任何构造方法时才会自动提供。 9.7 哪个操作符用于访问对象的数据域或者调用对象的方法? 答:“.” 9.8 答:new 声明对象的时候,没有引用变量。直接调用实例方法的方式。这个对象就是匿名对象 9.9 什么是 NullPointerException? 答:当调用值为 null 的引用变量上的方法时会发生此类异常。 在通过引用变量调用一个方法之前,确保 先将对象引用賦值给这个变量。 9.10 答:数组是对象,可以包含,就是该类型或对象的初始值 9.11 下面每个程序中有什么错误? 答:a.ShowErrors 类本身没有构造函数,无法构造 b.类中没有 x()实例方法,无法调用 c.c 一开始声明变量,却没有声明应用变量,所以 c 的值为 null,无法调用方法 d.通 a 9.12 下面代码有什么错误?答:第 3 行代码创建了一个对象,但是 String s 没有任何值,无法构建对象 9.13 下面代码的输出是什么?答:main 函数声明自己所在类,创建了对象,初始化了 x,boolean 初始化 的值为 false,所以打印的为 false 9.14 用 Date 类新建一个对象 调用 Date 类的方法 toString 显示当前时间; 9.15 同 Date 一样 p1.distance(p2)输出; 9.16 包含类 Date、Random、Point2D, 9.17 假设 F 类在 a 中定义,f:是 F 的一个实例, 那么 b 中的哪些语句是正确的? 答:f 是实例,所以前四个都正确;F 为对象,则只能访问静态变量和方法,所以第六句和第八句正确。第 五句和第七句错误。 9.18 如果合适的话,在出现? 的位置添加 static 关键字。 答:第一处和第二处 9.19 能否从静态方法中调用实例方法或引用一个实例变量?能否从实例方法中调用静态方法或引用一个 静态变量? 下面代码错在哪里? 答:静态方法中不能调用实例方法,实例方法可以调用静态方法,上面代码就是静态方法调用了实例方法。 实例方法必须通过创建对象,然后通过对象来调用响应的实例方法。 9.20 答:访问器方法就是访问类中私有数据域的方法,修改器方法就是修改类中私有数据域值的方法。访 问器 get+数据域名,修改器 set+数据域名 9.21 数据域封装的优点是什么? 答:便于维护,不易被篡改 9.22 在下面的代码中, Circle 类中的 radius 是私有的,而 myCircle 是 Circle 类的一个对象, 下面髙亮 的代码会导致什么问题吗?如果有问题的话, 解释为什么。
答:无法获取到 radius。实例无法获取到类的私有数据域 climb the mountain 9.23 描述传递基本类型参数和传递引用类型参数的区别,并给出下面程序的输出: 答:基本类型传递的是值,引用型传递的是指针。count 为 101,times 为 0 9.24 显示下面程序的输出: 答:第一次交换了,第二次没有交换。第一次传入的是引用指针,第二次传入的是值 9.25 答:1,2//2,1//2,1//1,1 9.26 null 9.27 下面的代码有什么错误? 答:对象数组初始化的时候,将每个对象引用值都初始化为 null。dates[0],对应的是 null,无法 toString 9.28 如果类中仅包含私有数据域并且没有设置 set 方法.该类可以改变吗? 答:可以改变,这种类不是为不可变对象。还可以通过引用的方式进行修改 2,1// //1234567//7654321//1234567 9.29 答:不可以,没有引用类型对象数据类型。 9.30 答:可以改变,可以通过 get 获取到 values,然后赋值 9.31 5,2,0 9.32 this 调用实例方法的对象和调用同一个类的里一个构造方法; 9.33 第二个构造方法的 p 无法调用应该改为 this.p=p; 9.34 id 为私有 this 不能直接赋值给 id;
分享到:
收藏