接口和抽象类习题-发给学生做
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(一)选择题
1)以下哪个接口的定义是正确的?
a) A.interface B{ void print() { } ; }
b) B.abstract interface B { void print() ; }
c) C.abstract interface B extends A1,A2 { abstract void print(){ }; }
d) 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;
voidshowX();
}
interface B {
int y = 2;
voidshowY();
}
classInterfaceTest 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) {
InterfaceTestmyObject = 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()。
Interface TestInterface {
String myVar = “Helo Interface”;
V oid write();
V oid raed();}