在开发工作中,接口显然是非常非常重要的。
一、基本介绍
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。
二、语法
interface 接口名{
//属性;
//方法;
}
class 类名 implements 接囗{
//自己属性;
//自己方法;
//必须实现的接口的抽象方法;
}
注意:在JDK8及以后接口中可以有静态方法、默认方法,也就是说接口中可以有方法的具体实现。
public interface Service {
public default void cry() {
System.out.println("小孩正在哭");
}
public static void work() {
System.out.println("大人正在工作");
}
}
三、使用细节
- 接口不能被实例化
- 接口中所有的方法是 public方法,接口中抽象方法,可以不用abstract 修饰
- 一个普通类实现接口,就必须将该接口的所有方法都实现
- 抽象类实现接口,可以不用实现接口的方法
- 一个类同时可以实现多个接口
- 接口中的属性,只能是final的,而且是 public static final 修饰符。比如int a=1;实际上是 public static final int a=1;(必须初始化)
- 接口中属性的访问形式: 接口名.属性名
- 一个接口不能继承其它的类,但是可以继承多个别的接口
- 接口的修饰符 只能是 public 和默认,这点和类的修饰符是一样的
四、继承VS接口
当子类继承了父类,就自动的拥有父类的功能;
如果子类需要扩展功能,可以通过实现接口的方式扩展,可以理解为实现接口是对java单继承机制的一种补充。