类与对象作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类与对象作业一、选择题
1.MyClass类定义如下:
class MyClass{
public MyClass ( int x) {
}
}
C 如下方式创建对象,()是正确的。
A.MyClassmyobj = new MyClass;
B.MyClassmyobj = new MyClass( );
C.MyClassmyobj = new MyClass( 1 );
括号里定义一个参数就需要在新定义
的时候有一个参数。
D.MyClassmyobj = new MyClass( 1, 2 );
解析:
一般的自定义方法
类名方法名(形参){方法体}
String dancing (string wuzhong){
Return wuzhong;
}
构造方法:
1)没有返回值
2.A以下代码中,this是指()。
class bird {
int x, y; 成员变量
void fly (int x, int y) { 局部变量this.x =x;
this.x中的x是成员变量,x是局部变量
this. y =y;
}
}
A.bird
B.fly
C.bird 或fly
D.不一定
3.A下述()说法是不正确的。
A.实例变量是用static关键字声明的
B.实例变量是类的成员变量
C.方法变量可在方法执行时创建
D.方法变量在使用之前必须初始化
类变量是用static关键字声明的4.c下列各种办法的定义中,()是正确
的。
A.void myFun ( int X=1 ){ }
B.void myFun ( int& X) { }
C.void myFun ( int X) { }
D.void myFun ( int * X) { }
5.B下面关于构造方法的说法不正确的
是()。
A.构造方法没有返回值
B.构造方法不可以重载
C.构造方法一定要与类名相同
D.构造方法也属于类的方法,用于创建对
象的时候给成员变量赋值
构造方法可以重载
6.c下面()是正确的方法重载()
A.int fun ( int a, float b) { }
float fun ( int a, float b) { }
B.float fun ( int a, float b) { }
float fun ( int x, float y) { }
C.float fun (float a) { }
float fun (float a, float b) { }
D.float fun1 ( int a, float b) { }
float fun2 ( int a, float b) { } 方法名相同,括号里的参数类型或这个数不
同。
二、程序填空
1. 阅读下列问题描述和相应的程序,按下面给出的程序运行结果补充完整并进行调试。
程序创建三个Locker类的对象并调用相应的方法,Locker类用来存放银行保管箱租用者的姓名(hirer)、柜号(cabinetNum)、箱号(num)以及是否空闲(isVacant)的信息。当程序正确完成后,产生的输出如图所示。
public class BaoGuan { //baoguan类
public static void main(String[] args) {
Locker lock1,lock2,lock3; //创建对象
lock1=new Locker("李瑞杰",3,301);
lock2=new Locker("张佳利",3,302);
lock3=new Locker("张佳利",2,201);
System.out.println(lock1.toString()); //输出方法
System.out.println(lock2.toString());
System.out.println(lock3.toString());
System.out.println();
lock1.setIsVacant(true); //李瑞杰退箱
if(lock1.getIsVacant()==true)
System.out.println("现在空闲 "+lock1.toString());
System.out.println();
if(lock2.hasSameHirer(lock3)){//判断lock2、3租用者名是否相同System.out.println("同一租用者 "+lock2.toString());
System.out.println("同一租用者 "+lock3.toString());
}
}
}
class Locker{ // Locker类
int num, cabinetNum;
boolean isVacant;
String hirer;
public Locker(String hire, int cabinet, int num){ //public创建公共方法,其他类亦可以调用
this.hirer=hire; //为Locker的hirer赋值
cabinetNum=cabinet;
this.num=num;
isVacant=false; //保险柜的状态为非空闲
}
public boolean getIsVacant(){ //获得保险柜的空闲值
return isVacant;//getIsVacant方法的返回值
}
public void setIsVacant(boolean b){
isVacant=b;
if(isVacant==true) hirer=""; //如果保险柜空闲租用者姓名置空}
public boolean hasSameHirer(Locker otherL){
if(this.hirer.equals(otherL.hirer)) //如果hirer租用人的名字与hasSnameHirer方法传递的实参otherL的名字相同
return true;
else
returnfalse;
}
public String toString(){
String str="柜号:"+cabinetNum+ ", 箱号:"+num;
if(isVacant==true)
str+= " 当前空闲";
else
str+= " 当前由"+hirer +"使用";
return str;
}
}
2.阅读下列问题描述和相应的程序,按下面给出的程序运行结果补充完整并进行调试。
UseCamera类创建两个Camera类的对象并调用相应的方法。Camera类的对象创建时需要两个值,第一个值表示照相机是否打开,第二个值定义已拍的照片数。
程序正确执行后输出图如下: