文档详情

Java第五章作业答案 .pdf

发布:2024-11-11约6.13千字共3页下载文档
文本预览下载声明

习题六

一、问答题

1.接口中能声明变量吗?不能,接口中只能定义抽象方法和常量

2.接口中能定义非抽象方法吗?不能

3.接口中的常量可以不指定初值吗?不能

4.什么叫接口的回调?用实现接口的类创建对象,赋值给该接口声明的接口变量

5.可以在接口中只声明常量,不声明抽象方法吗?可以

6.内部类的外嵌类的成员变量在内部类中有效吗?有效

7.内部类中的方法可以调用外嵌类中的方法吗?内部类可以访问外部类的成员,包括

private成员。外部类虽然不能直接访问内部类的成员,但是可以通过内部类的实例访问内部

类的成员。

8.内部类的类体中可以声明类变量和类方法吗?静态内部类可以定义静态成员,非静态内

部类不能定义静态成员。

9.匿名类一定是内部类吗?一定

二、选择题

1.下列哪个叙述是正确的D

A.一个类最多可以实现两个接口。//一个类可以实现(implements)多个接口,就是Java中多继承现象。

B.如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法。

C.如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法。

//实现某个接

口的类如果不是抽象类,则该类必须实现接口中的所有抽象方法。

D.允许接口中只有一个抽象方法。

2.下列哪一个叙述是正确的?C

A.和接口有关的匿名类可以是抽象类。//匿名内部类不能是抽象类。因为在创建匿名内部类的时候,会

立即创建匿名内部类的对象。

B.和类有关的匿名类还可以额外地实现某个指定的接口。

C.和类有关的匿名类一定是该类的一个非抽象子类。

D.和接口有关的匿名类的类体中可以有static成员变量。//匿名类是一个内部类,类体不可声明

static成员变量和static方法

3.下列接口中标注的(A,B,C,D)中,哪两个是错误的?AB

interfaceTakecare{

protectedvoidspeakHello();//A接口中的方法都是public,不能是protected

publicabstractstaticvoidcry();//B接口中的方法不能用static修饰

intf();//C

abstractfloatg();//D

}

4.将下列(A,B,C,D)哪个代码替换下列程序中的【代码】不会导致编译错误。A

A.publicintf(){return100+M;}

B.intf(){return100;}//访问控制权限降低了

C.publicdoublef(){return2.6;}//类型不兼容

D.publicabstractintf();//非抽象类中不能有抽象方法

interfaceCom{

intM=200;

intf();

}

classImpComimplementsCom{

【代码】

1

}

5.下列代码标注的(A,B,C,D)中哪一个是错误的?C

classOutClass{

intm=1;

staticfloatx;//A

classInnerClass{

intm=12;//B

staticfloatn=20.89f;//C非静态内部类不能声明静态成员

InnerClass(){

}

voidf(){

m=100;

}

}

voidc

显示全部
相似文档