在Java语言中,接口有两种意思:
.一是指概念性的接口,即指系统对外提供的所有服务。类的所有能被外部使用者访问的方法构成了类的接口。
.二是指用interface关键字定义的实实在在的接口,也称为接口类型。它用于明确地描述系统对外提供的所有服务,能够更加清晰地把系统的实现细节与接口分离。
1.接口中的成员变量都是静态常量;
2.接口中的方法都是抽象方法,在底层被abstract 修饰;
3.接口没有构造方法,不能被实例化;
4.一个接口不能实现另一个接口,但它可以继承多个其他接口.例如以下接口C继承接口A和B,因此接口C会继承接口A的methodA()方法,以及接口B的methodBO方法。接口C被称为复合接口。
5.一个接口不能实现另一个接口,但它可以继承多个其他接口。例如以下接口C继承接口A和B,因此接口C会继承接口A的methodA()方法,以及接口B的methodB()方法。接口C被称为复合接口。
6.接口必须通过类来实现它的抽象方法.类实现接口的关键字为implements.
7.与子类继承抽象父类相似,当类实现了某个接口时,它必须实现接口中所有
的抽象方法,否则这个类必须被定义为抽象类。
8.不允许创建接口的实例,但允许定义接口类型的引用变量,该变量引用实现
了这个接口的类的实例。例如:
9.一个类只能继承一个直接的父类,但能实现多个接口;
1.比较抽象类相同点,都不能new;
2.都能包含抽象方法;
不同点:
1.在抽象类中可以为部分方法提供默认的实现,从而遥免在子类中重复实现它
们.提高代码的可重用性.这是抽象类的优势所在:而接口中只能包含抽象方法。
2.一个类只能继承一个直接的父类.这个父类有可能是抽象类:但一个类可以
实现多个接口,这是接口的优势所在。