接口
接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JDK 8)。 接口的定义,它与定义类方式相似,但是使用
interface
关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。
引用数据类型:数组,类,接口。
public interface 接口名称 {
// 抽象方法
// 默认方法
// 静态方法
}
含有抽象方法
public interface InterFaceName {
public abstract void method();
}
含有默认方法和静态方法
public interface InterFaceName {
public default void method() {
// 执行语句
}
public static void method2() {
// 执行语句
}
}
非抽象子类实现接口:
- 必须重写接口中所有抽象方法。
- 继承了接口的默认方法,即可以直接调用,也可以重写。
class 类名 implements 接口名 {
// 重写接口中抽象方法【必须】
// 重写接口中默认方法【可选】
}
抽象方法的使用
定义接口:
```java 定义接口:
public interface LiveAble { // 定义抽象方法 public abstract void eat(); public abstract void sleep(); }
定义实现类: public class Animal implements LiveAble { @Override public void eat() { System.out.println(“吃东西”); }
@Override
public void sleep() {
System.out.println("晚上睡");
}
} ``` 小贴士:子接口重写默认方法时,default关键字可以保留。子类重写默认方法时,default关键字不可以保留
接口小结
接口中,无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰。- JDK8前接口中的方法全是抽象方法,默认会自动加上public abstract修饰
- JDK 8开始,接口不再纯洁,支持静态方法,默认方法,私有方法。
- 接口中,没有构造器,不能创建对象。
- 类与接口是多实现的 implements
- 接口与接口是多继承的 extends
- 接口体现的规范。