1、接口不是类,不能使用new来实例化一个接口 2、可以声明接口的变量:Comparable x;//是合法的但是接口的变量必须引用实现了接口的类对象 x=new Employee(...); 3、可以使用instance来进行检查一个对象是否实现了某一个特定的接口:
if(anObject instanceOf Comparable){...};4、接口也可以像类的继承一样被扩展,就比如说我的Powered接口扩展于Movable的接口,而且这个Movable的接口被如下定义:
public interface Movable{ void move(double a, double b); }然后呢,可以为它扩展一个叫做Powered的接口
public interface Powered extends Movable{ double milesPerGallon(); }5、在接口中不能含有实例域和静态方法,但是却可以包括常量。
public interface Powered extends Movable{ double milesPerGallon(); double Speed_Limit=95; }这显然是允许的,接口中的常量/域通常被自动设定为 public static final
有些借口只定义了常量,却没有定义方法。但是定义了常量,任何实现了接口的类都自动继承了这些常量。
例如Java中有一个非常重要的内置接口,叫做Cloneable接口,如果我要同时实现Comparable和Cloneable的接口,同时具有克隆和比较的功能,那么我就可以这样来进行定义
class Employee implements Comparable,Cloneable