接口的申明:
public interface 接口名{
任意数量的静态最终常量申明
任意数量的抽象方法;
}
接口中所有的方法都是抽象的,所有的方法不提供实现。因为接口中的所有方法都是抽象的,所以也不能被实例化。
接口和类有一下方面相似:
接口可以有任意数量的方法。
接口保存以.java为后缀名的文件,接口名需要与文件名匹配。
接口编译后是后缀名为.class的字节码文件。
在包中的接口,其相应的字节码文件必须放置在包名称相匹配的一个目录结构中。
接口和类也有不同的地方:
接口不能实例化
接口中的所有方法都是抽象的,即使不写抽象的关键字 也默认是抽象的。
接口中不能包含实例化成员变量。唯一可以再接口中出现的成员变量必须申明为static 和final如果不写static或final 默认为静态的最终的。
接口的性质:
接口默认是抽象的。在申明接口时不需要使用abstract关键字。
接口中的每一个方法也默认是抽象的,所以也不用关键字abstract
接口不能有构造方法。
接口中的默认访问级别是public 在编写接口是通常用public关键字,但是如果我们不显示的将接口中的方法申明为public它仍然是public的。
接口的实现:
类实现接口用implements
类实现接口有两个选择:
实现接口中的所有抽象方法.或者申明自己为抽象类。
接口的引用也可以指向实现了的对象,调用的时候调用的是实现类的对象。
接口的好处:
接口在继承外,提供了一种共享机制。
接口可以多实现,弥补了java单继承的问题,
接口可以继承接口,而且是多继承。
只有与生俱来的才会写到父类当中,凡是附属添加的都需要写在接口中。