接口简概
接口概念:在 Java 程序设计语言中, 接口不是类,而是对类的一组需求描述,这些类要遵从接口描 述的统一格式进行定义 。
接口中的所有方法自动地属于 public 。 因此,在接口中声明方法时,不必提供关键字 public。
在接口中可以定义常量。然而,更为重要的是要知道接口不能提供哪些功能。接口绝不能含有实例域 。
在JavaSE 8时,可以在接口中提供简单方法了。当然, 这些方法不能引用实例域——接口没有实例。
提供实例域和方法实现的任务应该由实现接口的那个类来完成。因此,可以将接口看成是没有实例域的抽象类,但是这两个概念还是有一定区别的。
要将类声明为实现某个接口, 需要使用关键字 implements
。 为了让类实现一个接口, 通常需要下面两个步骤: 1 ) 将类声明为实现给定的接口。 2 ) 对接口中的所有方法进行定义。
在接口声明中,不需要将方法声明为 public , 这是因为在接口中的所有方法都自动地是 public 。不过,在实现接口时, 必须把方法声明为 public。
接口的特性
接口不是类,尤其不能使用 new运算符实例化一个接口。
尽管不能构造接口的对象,却能声明接口的变量。
Comparable x ; // OK
接口变量必须引用实现了接口的类对象 。
x = new Employee (. . .); // OK
如同使用 instanceof检查一个对象是否属于某个特定类一样, 也可以使用 instanceof 检查一个对象是否实现了某个特定的接口。