类与对象作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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类的对象创建时需要两个值,第一个值表示照相机是否打开,第二个值定义已拍的照片数。

程序正确执行后输出图如下:

相关文档
最新文档