接口声明:interface 接口的名字
接口体:接口体中包含常量的声明(没有变量)和抽象方法(没有普通方法)两部分。
常量的访问权限一定都是public
抽象方法的访问权限一定都是public
类实现接口:接口由类来实现,使用关键字implements
class A implements B,C
或
class A extends B implements C,D
重写接口中的方法:
如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。(重写方法的访问权限要与原抽象方法的访问权限相同)
如果一个类声明实现一个接口,但没有重写接口中的方法,那么这个类必须是抽象类,也就是说,抽象类既可以重写接口中的方法,也可以直接拥有接口中的方法。
继承接口:接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public的,子接口将继承父接口中的全部方法和常量。
接口回调:
和类一样,接口也是java中一种重要的数据类型,用接口声明的变量称作接口变量接口属于引用型变量,接口变量中可以存放实现该接口的类的实例引用,即存放对象的引用。
接口无法调用类中的其它的非接口方法。
public class A { public static void main(String[] args) { B b; C c=new C(); b=c; b.f(); } } interface B{//接口B void f(); } class C implements B{//类C,实现接口B public void f(){ System.out.println("接口方法f"); } public void g(){ System.out.println("类自己的方法g"); } }
当执行
b=c;
后
即可实现接口回调类重写的自己的方法。