接口和抽象类习题-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)选择题
1.以下哪个接口的定义是正确的?
A.interface B{ void print() { } ; }
B.abstract interface B { void print() ; }
C.abstract interface B extends A1,A2 { abstract void print(){ }; }
D.interface B { void print();}
2.定义一个接口时,下列哪个关键字用不到?
A.public
B.extends
C.interface
D.class
3.定义一个接口时,要使用如下哪个关键字?
A.abstract
B.final
C.interface
D.class
4.在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口。
A.private
B.protected
C.private或者protected
D.public
5.下列类头定义中,错误的是?
A.public x extends y
B.public class x extends y
C.class x extends y implements y1
D.class x
6.下列类定义中,不正确的是?
A.class x
B.class x extends y
C.class x implements y1,y2
D.public class x extends X1,X2
7.Java中能实现多重继承功能的方式是?
A.接口
B.同步
C.抽象类
D.父类
8.下列叙述正确的是?
A.Java中允许多重继承
B.Java一个类只能实现一个接口
C.Java中只能单重继承
D.Java中一个类可以继承多个抽象类
(二)简答题
1)接口中方法的修饰符都有哪些?属性的修饰符有哪些?
2)接口的作用是什么?简述接口与类的关系。
3)请写出下列输出结果。
interface A {
int x = 1;
void showX();
}
interface B {
int y = 2;
void showY();
}
class InterfaceTest implements A, B {
int z = 3;
public void showX() {
System.out.println("x=" + x);
}
public void showY() {
System.out.println("y=" + y);
}
public void showMe() {
System.out.println("z=" + (z + x + y));
}
}
public class Class1 {
public static void main(String[] args) {
InterfaceTest myObject = new InterfaceTest();
myObject.showX();
myObject.showY();
myObject.showMe();
}
}
X=1
Y=2
Z=6
(三)编程题
1)定义一个有抽象方法display()的超类SuperClass,以及提供不同实现方法的子类SubClassA和SubClassB,并创建一个测试类PolyTester,分别创建SubClassA和SubClassB 的对象。调用每个对象的display()。
要求:输出结果为:
display A
display B
2)创建一个接口,接口的名字叫TestInterface,接口里至少有一个常量String myVar = “Helo Interface”,两个抽象方法write()和read()。