Java语言程序设计(一)课后习题第三章(附答案)
分类:自考
|
更新时间:2016-07-07|
来源:中华网教育
三、类与对象
1.什么叫引用类型,对象是引用类型吗?
2.什么是类成员,什么是实例成员?他们之间有什么区别?
3. 判断:数组、类和接口都是引用数据类型()
4.判断:类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员()
5.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()
A、publicB、privateC、staticD、final
6.下面关于java中类的说法哪个是不正确的()
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
7.下列哪个类声明是正确的()
A abstract final class H1{…}
B abstract private move(){…}
C protected private number;
D public abstract class Car{…}
8.下述哪些说法是正确的? (多选)
A、 实例变量是类的成员变量
B、 实例变量是用static关键字声明的
C、 方法变量在方法执行时创建
D、方法变量在使用之前必须初始化
9.设计一个动物类,它包含动物的基本属性。例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。
10.设计一个长方形类,成员变量包括长和宽。类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。编写测试类测试是否达到预定功能。要求使用自定义的包。
参考答案
1.答:引用类型是指该类型的标识符表示的是一片内存连续地址的首地址。对象是引用类型。
2.答:Java中使用static修饰的变量和方法称为类变量(或称静态变量)和类方法(或称静态方法),没用static修饰符的变量和方法称为实例变量和实例方法。
类成员是指该成员属于这个类,由这个类所创建的所有对象共同拥有,该成员仅在类的存储单元中存在,这个类所创建的所有对象中仅存储一个指向该成员的 引用。任何一个该类的对象改变了类成员,其他对象同样会发生改变。对于类成员既可以使用对象访问,也可以使用类名直接进行访问,并且在类方法中只能访问类 变量,而不能访问实例变量。
实例成员是指该成员由每一个对象个体独有,对象的存储空间中的确有一块空间用来存储该成员,不同对象的实例成员不同,任何一个对象改变了实例成员, 只会影响这个对象本身,其他对象中的实例成员不会发生改变。对于实例成员只能通过对象来访问,不能通过类名进行访问,在实例方法中既可以访问实例变量,也 可以访问类变量。
3. true
4. true
5. C
6.C
7. D
8. A C D
9.答:
public class Animal{
private String name;
private double weight;
private int length;
privateString sex;
public void run(){
System.out.println("the animal is running!");
}
public void jump(){
System.out.println("the animal is jumping!");
}
public void walk(){
System.out.println("the animal is walking!");
}
}
10.答:
package mypackage.math;
class Rectangle{
private int length;
private int width;
public Rectangle(int length,int width){
this.length=length;
this.width=width;
}
public void set(int length,int width){
this.length=length;
this.width=width;
}
public void get(){
System.out.println("此长方形的长为"+length+"宽为"+width);
}
public int getLength(){
return length;
}
public int getWidth(){
return width;
}
public int calculatePerimeter(){
return 2*(length+width);
}
public int calculateArea(){
return (length*width);
}
public void print(){
System.out.println("此长方形的周长为"+calculatePerimeter()+"面积为"+calculateArea());
}
}
class Test{
public static void main(String [ ] args){
Rectangle myrectangle=new Rectangle(15,10);
myrectangle.get();
myrectangle.print();
myrectangle.set(20,15);
System.out.println("长方形的长是"+myrectangle.getLength()+"宽是"+ myrectangle .getWidth());
myrectangle.print();
}
}