java语言程序设计基础篇习题_复习题_第九章

* 9.1 描述对象和它的定义类之间的关系。
<https://blog.csdn.net/guijiao1243/article/details/84851936#91__2>
* 9.2 如何定义一个类?
<https://blog.csdn.net/guijiao1243/article/details/84851936#92__6>
* 9.3 如何声明一个对象引用变量?
<https://blog.csdn.net/guijiao1243/article/details/84851936#93__8>
* 9.5 构造方法和普通方法之间的区别是什么?
<https://blog.csdn.net/guijiao1243/article/details/84851936#95__11>
* 9.6 什么时候类将有一个默认构造方法?
<https://blog.csdn.net/guijiao1243/article/details/84851936#96__17>
* 9.7 哪个操作符用于访问对象的数据域或者调用对象的方法?
<https://blog.csdn.net/guijiao1243/article/details/84851936#97__20>
* 9.8 什么是匿名对象?
<https://blog.csdn.net/guijiao1243/article/details/84851936#98__22>
* 9.9 什么是NullPointerException?
<https://blog.csdn.net/guijiao1243/article/details/84851936#99_NullPointerException_24>
* 9.10 数组是对象还是基本类型值?数组可以包含对象类型的元素吗?描述数组元素的默认值。
<https://blog.csdn.net/guijiao1243/article/details/84851936#910__26>
* 9.11 下面每个程序中有什么错误?
<https://blog.csdn.net/guijiao1243/article/details/84851936#911__29>
* 9.12 下面代码有什么错误?
<https://blog.csdn.net/guijiao1243/article/details/84851936#912__37>
* 9.13 下面代码的输出是什么?
<https://blog.csdn.net/guijiao1243/article/details/84851936#913__42>
* 9.14 如何为当前时间创建一个 Date? 如何显示当前时间?
<https://blog.csdn.net/guijiao1243/article/details/84851936#914__Date__45>
* 9.15 如何创建一个 Point2D? 假设pi 和 p2 是 Point2D 的两个实例,如何获得两点之间的距离?
<https://blog.csdn.net/guijiao1243/article/details/84851936#915__Point2D_pi__p2__Point2D__51>
* 9.16 哪些包包含类 Date、Random、Point2D、System以及 Math?
<https://blog.csdn.net/guijiao1243/article/details/84851936#916__DateRandomPoint2DSystem_Math_62>
* 9.17 假设 F类在 a中定义,f:是 F的一个实例, 那么 b中的哪些语句是正确的?
<https://blog.csdn.net/guijiao1243/article/details/84851936#917__F_af_F__b_64>
* 9.18 如果合适的话,在出现? 的位置添加 static关键字。
<https://blog.csdn.net/guijiao1243/article/details/84851936#918___static_67>
* 9.19 能否从静态方法中调用实例方法或引用一个实例变量?能否从实例方法中调用静态方法或引用一个静态变量? 下面代码错在哪里?
<https://blog.csdn.net/guijiao1243/article/details/84851936#919___70>
* 9.20 什么是访问器方法?什么是修改器方法?访问器方法和修改器方法的命名习惯是什么?
<https://blog.csdn.net/guijiao1243/article/details/84851936#920__73>
* 9.21 数据域封装的优点是什么?
<https://blog.csdn.net/guijiao1243/article/details/84851936#921__75>
* 9.22 在下面的代码中, Circle 类中的 radius 是私有的,而 myCircle 是Circle 类的一个对象,
下面髙亮的代码会导致什么问题吗?如果有问题的话, 解释为什么。
<https://blog.csdn.net/guijiao1243/article/details/84851936#922__Circle__radius__myCircle_Circle____77>
* 9.23 描述传递基本类型参数和传递引用类型参数的区别,并给出下面程序的输出:
<https://blog.csdn.net/guijiao1243/article/details/84851936#923__80>
* 9.24 显示下面程序的输出:
<https://blog.csdn.net/guijiao1243/article/details/84851936#924__83>
* 9.27 下面的代码有什么错误?
<https://blog.csdn.net/guijiao1243/article/details/84851936#927__86>
* 9.28 如果类中仅包含私有数据域并且没有设置 set 方法.该类可以改变吗?
<https://blog.csdn.net/guijiao1243/article/details/84851936#928__set__89>
* 9.29 如果类中的所有数据域是私有的基本数据类型, 并且类中没有包含任何 set 方法, 该类可以改变吗?
<https://blog.csdn.net/guijiao1243/article/details/84851936#929___set___91>
* 9.30 下面的类可以改变吗?
<https://blog.csdn.net/guijiao1243/article/details/84851936#930__93>


<>9.1 描述对象和它的定义类之间的关系。


答:对象(object)代表现实世界中可以明确标识的一个实体。类是一个模板、蓝本或者说是合约,用来定义对象的数据域是什么以及方法是做什么的。一个对象是类的一个实例。
可以从一个类中创建多个实例。就好比印钞票,类就是模子,对象对视印出来的一张张钞票。

<>9.2 如何定义一个类?



<>9.3 如何声明一个对象引用变量?

答:先定义好类,然后以类名声明变量。

<>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 date = new Date(); date.getTime();
<>9.15 如何创建一个 Point2D? 假设pi 和 p2 是 Point2D 的两个实例,如何获得两点之间的距离?
public class Test { public static void main(String[] args) { Point2D p1 = new
Point(1,0); Point2D p2 = new Point(0,1); System.out.println(p1.distance(p2)); }
}
<>9.16 哪些包包含类 Date、Random、Point2D、System以及 Math?

<>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。实例无法获取到类的私有数据域

<>9.23 描述传递基本类型参数和传递引用类型参数的区别,并给出下面程序的输出:


答:基本类型传递的是值,引用型传递的是指针。count为101,times为0

<>9.24 显示下面程序的输出:


答:第一次交换了,第二次没有交换。第一次传入的是引用指针,第二次传入的是值。25题和26题类似。

<>9.27 下面的代码有什么错误?


答:对象数组初始化的时候,将每个对象引用值都初始化为null。dates[0],对应的是null,无法toString

<>9.28 如果类中仅包含私有数据域并且没有设置 set 方法.该类可以改变吗?

答:可以改变,这种类不是为不可变对象。还可以通过引用的方式进行修改

<>9.29 如果类中的所有数据域是私有的基本数据类型, 并且类中没有包含任何 set 方法, 该类可以改变吗?

答:不可以,没有引用类型对象数据类型。

<>9.30 下面的类可以改变吗?


答:可以改变,可以通过get获取到values,然后赋值

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信