接口是java语言中的一个关键字。可以使用interface创建一个接口。
public interface student{
int name;
// 属性 默认 静态 常量
void study();
// 方法 没有方法体
}
在接口中,所有的属性都是默认静态(static)的。我们可以类比类中的静态变量,他们是与类关联在一起的,而非与具体的对象,静态变量可以直接用类名.静态变量名调用,也正因此,静态变量表示的是类的特征,是用来描述抽象概念的。同理,接口中的所有变量都是表示抽象含义的。
同理接口中的方法全部都是抽象的方法,只有返回类型、方法名、形参但没有方法体。
在创建了一个接口之后,我们是无法直接使用接口的,因为接口中的所有内容都是抽象的,没有实际意义。想要使用接口就必须将接口具体化,也就是创建一个类实现接口。
public class 类名 implements 接口名{
// - 将接口中的方法具体实现 重写
// - 在这个方法中实现这一次具体需要执行的代码
}
java中的接口,实际上是java中一个类不能继承多个类的一种补偿。举个简单的例子,大学生、运动员和大学运动员是三个不同的类,在python中大学运动员可以直接继承大学生父类和运动员父类。但在java中,大学运动员只能选择大学生或运动员中的一个作为父类(java中不允许多继承),而另一个父类就可以作为一个接口,从而实现类似的多继承。