接口的细节
前面介绍了接口的基本内容,接口还有一些细节,包括:
·接口中的变量。
·接口的继承。
·类的继承与接口。
·instanceof。
下面具体介绍。
(1)接口中的变量
接口中可以定义变量,语法如下所示:
public interface Interface1 {
public static final int a = 0;
}
这里定义了一个变量int a,修饰符是public static final,但这个修饰符是可选的,即使不写,也是public static final。这个变量可以通过“接口名.变量名”的方式使用,如Interface1.a。
(2)接口的继承
接口也可以继承,一个接口可以继承其他接口,继承的基本概念与类一样,但与类不同的是,接口可以有多个父接口,代码如下所示:
public interface IBase1 {
void method1();
}
public interface IBase2 {
void method2();
}
public interface IChild extends IBase1, IBase2 {
}
IChild有IBase1和IBase2两个父类,接口的继承同样使用extends关键字,多个父接口之间以逗号分隔。
(3)类的继承与接口
类的继承与接口可以共存,换句话说,类可以在继承基类的情况下,同时实现一个或多个接口,语法如下所示:
public class Child extends Base implements IChild {
//主体代码
}
关键字extends要放在implements之前。
(4)instanceof
与类一样,接口也可以使用instanceof关键字,用来判断一个对象是否实现了某接口,例如:
Point p = new Point(2,3);
if(p instanceof MyComparable){
System.out.println("comparable");
}