Java接口的一般定义形式:
public interface A {
int CONST = 1; //合法,CONST默认为public,static,final类型
void method(); //合法,method()默认为public,abstract类型
public abstract void method2(); //method2()显示声明为public,abstract类型
}
接口的定义需要注意:
1、一个Java文件中只能有一个类或接口被定义为public,且接口文件的文件名必须与接口名相同。
2、接口中的成员变量必须都是public,static,final类型(都可以省略),且必须被显示初始化,即接口中的成员变量为常量,需大写。
3、接口中的成员方法必须都是public,abstract类型(都可以省略),抽象方法不能写方法体。
4、接口中没有构造方法,不能被实例化。
Java接口的一般实现形式:
public class B implements A {
public void method() {
System.out.println("method implements ");
}
public method2() {
System.out.println("method2 implements ");
}
}
接口的实现需要注意:
1、接口必须通过类来实现它的抽象方法。
2、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象的。
3、不允许创建接口的实例(实例化),但允许定义接口类型的引用变量,该引用变量引用实现了这个接口的类的实例。(在上面的例子中,只能写A a = new B(),不能写 A a = new A())
4、一个一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承。(如:public class A extends B implements C, D{...} //B为class,C、D为interface)
常用的接口有:
1、接口:Comparable,实现函数:int compareTo(Object o),作用:对象排序。
2、接口:Runnable,实现函数:void run(),作用:线程运行。
3、接口:ActionListener,实现函数:void actionPerformed(ActionEvent),作用:事件处理。