接口是作为系统与外界交互的窗口。
在Java语言中,接口有两种意思:
一是指概念性的接口,即指系统对外提供的所有服务。类的所有能被外部使用者访问的方法构成了类的接口;
二是指用interface关键字定义的实实在在的接口,也称为接口类型。它用于明确地描述系统对外提供的所有服务,能够更加清晰地把系统的实现细节与接口分离。
接口对其成员变量和方法做了许多限制,接口的特征归纳如下:
(1)定义接口时,其中访问权限必须是public的;
public interface A {...}
(2)接口中的成员变量默认都是public、static、final类型的,必须被显式地初始化;
(3)接口中的方法默认都是public、abstract类型的;
(4)接口中只能包含public、static、final类型的成员变量和public、abstract类型的成员方法。不能在接口中定义实例变量、非抽象的实例方法及静态方法(接口不允许有具体方法);
如:接口中不能有main()方法。
(5)接口没有构造方法,不能被实例化。
(6)一个接口不能实现另一个接口,但它可以继承多个其他接口;
public interface A { public interface B {
public void methodA(); public void methodB();
} }
public interface C extends A,B { //接口C是复合接口
public void methodC();
}
(7)接口必须通过类来实现它的抽象方法。类实现接口的关键字为implements
public class AImp implements A {...}
(8)与子类继承父类相似,当类实现了某个接口时,它必须实现接口中所有的抽象方法,否则这个类必须被定义为抽象类;
(9)不允许创建接口的实例,但允许定义接口类型的引用变量,该变量引用实现了这个接口的类的实例。
(10)一个类只能继承一个直接的父类,但能实现多个接口。
public class Apple extends Fruit implements A,B,C {...}
posted on 2006-11-29 00:41
EricWong 阅读(317)
评论(0) 编辑 收藏 所属分类:
Java