接口(英文:interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式从而来继承接口的抽象方法。
接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。
除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在JAVA中,接口类型可用来声明一个变量,它们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口本身上是一种特殊的抽象类,这种特殊的抽象类里面只包含常量和方法的定义,但没有变量和方法的实现。
也就是说,一个抽象类里面所有的方法都是抽象的,没有任何一个方法需要这个抽象类去实现,并且这个抽象类里面所有的变量都是静态(static)变量,都是不能改变(final)的变量,这时就可以这样的一个抽象类定义为一个接口(interface)。把一个抽象类定义成一个接口的格式是把声明类的关键字class用声明接口的关键字interface替换掉即可。
因为接口(interface)中的属性都是常量,所以声明属性时固定格式为“public static final 类型 属性名”。并且因为是默认的,所以“static final”是可以省去书写的。
同时也因为接口内的所有方法都是抽象方法。所以用来声明抽象方法的“abstract”关键字通常默认都是省略掉的
1.接口可以多重继承
2.接口中声明的属性默认为“public static final”的,也只能是“public static final”的
3.接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的。abstract关键字在接口中可以省略。
4.接口可以继承其它的接口,并添加新的属性和抽象方法。
public interface People{
int age = 10;
String name = “输出名字”;//接口内定义的成员变量都pubilc static final 修饰
public void eat();//方法省略了abstract关键字
}