赞
踩
java语言程序设计基础篇习题_复习题_第九章9.1 描述对象和它的定义类之间的关系。9.2 如何定义一个类?9.3 如何声明一个对象引用变量?9.5 构造方法和普通方法之间的区别是什么?9.6 什么时候类将有一个默认构造方法?9.7 哪个操作符用于访问对象的数据域或者调用对象的方法?9.8 什么是匿名对象?9.9 什么是NullPointerException?9.10 数组是对象还是基本类型值?数组可以包含对象类型的元素吗?描述数组元素的默认值。9.11 下面每个程序中有什么错误?9.12 下面代码有什么错误?9.13 下面代码的输出是什么?9.14 如何为当前时间创建一个 Date? 如何显示当前时间?9.15 如何创建一个 Point2D? 假设pi 和 p2 是 Point2D 的两个实例,如何获得两点之间的距离?9.16 哪些包包含类 Date、Random、Point2D、System以及 Math?9.17 假设 F类在 a中定义,f:是 F的一个实例, 那么 b中的哪些语句是正确的?9.18 如果合适的话,在出现? 的位置添加 static关键字。9.19 能否从静态方法中调用实例方法或引用一个实例变量?能否从实例方法中调用静态方法或引用一个静态变量? 下面代码错在哪里?9.20 什么是访问器方法?什么是修改器方法?访问器方法和修改器方法的命名习惯是什么?9.21 数据域封装的优点是什么?9.22 在下面的代码中, Circle 类中的 radius 是私有的,而 myCircle 是Circle 类的一个对象, 下面髙亮的代码会导致什么问题吗?如果有问题的话, 解释为什么。9.23 描述传递基本类型参数和传递引用类型参数的区别,并给出下面程序的输出:9.24 显示下面程序的输出:9.27 下面的代码有什么错误?9.28 如果类中仅包含私有数据域并且没有设置 set 方法.该类可以改变吗?9.29 如果类中的所有数据域是私有的基本数据类型, 并且类中没有包含任何 set 方法, 该类可以改变吗?9.30 下面的类可以改变吗?
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,然后赋值
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。