第6章 接口

一、选择题
1.关于定义接口的关键字,正确的是( )。
A.extends B.implements
C.interface D.abstruct

2.接口可以被继承吗?( )。
A.可以 B.不可以 C.不能确定 D.以上答案均不正确

3.实现接口的关键字是( )。
A.extends B.final
C.interface D.implements

4.接口是否可以当做数据类型( )。
A.可以
B.不可以
C.不能确定
D.以上答案均不正确

5.下列的定义中,哪个是接口( )。
A.static void Func(){} B.virtual void Func(){}
C.abstract void Func() D.interface Func{}

6.关于类和接口的继承,以下说法正确的是( )。
A.接口只能实现不能被继承 B.接口可以实现多继承
C.接口和类都可以实现多继承 D.当子类继承父类接口时,子类获得父类方法是有限的

7.下面关于抽象类和接口论述正确的是( )。
A.接口中可以包含普通方法
B.抽象类中只能包含抽象方法,不能包含普通方法
C.接口中只能定义静态常量属性,不能定义普通属性
D.接口中可以包含构造器
8.关于接口下面的说法正确的是( )
A.实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事

9.下面关于接口的定义正确的是( )
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();}

10.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。
A.private B.protected C.private protected D.public

一、选择题答案
1.C	    2.A     3.D     4.A     5.D    6.B    7.C    8.A     9. D 10.D

二、填空题
1.当一个接口继承多个父类接口时,多个父类接口排列在___________关键字之后,各个父类接口之间使用___________隔开。

2.接口中只能定义___________,不能定义___________;抽象类里可以定义___________也可以定义___________。

3.接口中___________包含抽象化块,抽象类中___________包含抽象化块。

4.定义一个接口,接口的名称是Calculate

public _____  ______ {
     final float PI=3.14159f;
     float getArea(float r);
     float getCircumference(float r);
}

5.定义另外一个接口interfaceC继承自以上两个接口的代码补充完整。

public interface interfaceA {
  int one =1;
  void sayA();
}

public interface interfaceB {
  int two =2;
  void sayB();
}
_____________________________________________{
  int three =3;
  void sayC();
}

6.下面的代码输出结果是______________________

public interface People {  
	void Say(String s);
}
public class Teacher implements People{ // Teacher实现接口
	public void Say(String s){
		System.out.println(s);
	} 
}

public class Student implements People{ // Student实现接口
	public void Say(String s){
		System.out.print(s);
	}
}

public class app {
	public static void main(String[] args) {
		People tea              
          tea = new Teacher();  
		tea.Say("我是老师");   
		tea = new Student();
		tea.Say("我是学生");   
	}
}

7.面向接口编程是对_____________的一种体现,面向接口编程是使用接口来约束类的行为。

8.Java中接口的回调指的是:____________________ ,那么该接口变量就可以调用被类实现的接口方法。
9.Java中,能实现多重继承效果的方式是_______________。
10.接口的声明包括_______________和_______________。

二、填空题答案
1、extend、英文逗号
2、静态常量属性、普通属性、静态常量属性、普通属性
3、不能,可以
4、interface、Calculate
5、public interface interfaceC extends interfaceA,interfaceB
6、我是老师
   我是学生
7、多态性
8、把实现某一接口的类所创建的对象的引用赋值给该接口声明的接口变量
9、实现多个接口
10、常量  抽象方法