一、定义 接口是一系列方法的声明。只有方法的声明,没有方法的实现,它的方法全部是抽象方法,可以在不同的地方被不同的类实现。 接口定义: [public] [static] interface { [public] [final] 类型标识符 符号常量名 = 常数; [public] [abstract] 返回值类型 方法名 ([参数列表]); ... } 接口中的成员变量默认是public static final类型的。可以省略不写 接口中的方法默认是public abstract类型的,无方法体,不可实例化。可以省略不写 例如:定义Usb接口 interface Usb{ int A = 10; void service(); }//省略了所有访问控制符 等同于 public interface Usb{ public static final int A = 10; public abstract void service(); } 二、接口的特点 1、接口中没有构造函数,不能实例化 2、接口中的所有方法都是抽象方法 3、必须通过类来实现它的抽象方法 4、一个接口不能实现(implements)另一个接口,但是可以继承多个其它的接口 5、不允许实例化,允许定义接口类型的引用变量,来引用实现了该接口的实例(类似向上转型) 6、一个类只能继承一个直接父类,但可以实现多个接口,相当于多继承 三、接口的实现 接口的实现使用关键字 (implements) 多个接口使用" , " 分隔 Public interface Usb{ Void service(); } Public class UDisk implements Usb{ Public void service(){ System.out.print("插入了U盘!"); } } public class Test{ public static void main(String[] args) { Usb usb = new UDisk(); usb.service(); } } 三、为什么需要接口 1、免除重复定义 例如对于吃东西的这个方法 eat();动物可以吃,人可以吃,有的植物可以吃,机械可以吃,只是吃的方式不同,可以定义接口 interface Eat{ void eat(); } 当需要时直接实现这个接口就可以了,可以免除重复定义 2、方便扩展 |
|
来自: wenxuefeng360 > 《待分类1》