接口概述
1.接口是Java中的一种引用数据类型
2.接口是方法的集合
3.接口的内部包含但不限于封装了方法(功能),包含抽象方法 (JDK7及以前) , 默认方法和静态方法(JDK8)私有方法(JDK9)。
4.接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。
5.Java中的接口更多的体现在 对 行为的抽象!
6.接口类似于继承关系
接口的格式
接口用关键字interface修饰
public interface 接口名 {}
接口的使用
接口是不能创建对象,必须有实现类才能使用,类实现接口用implements表示
接口的实现类必须重写接口中的所有的抽象方法,要么该类是一个抽象类
实现类:
public class 类名 implements 接口名 {}
类和接口的关系
类之间只能单继承,但可以多层继承
类可以在继承一个类的同时,实现多个接口
接口成员的特点
成员变量
只能是常量,默认修饰符:public static final
成员方法
只能是抽象方法,默认修饰符:public abstract
接口没有构造方法(接口主要作为拓展,没有具体功能)
区别 | 抽象类 | 接口 |
---|---|---|
成员变量 | 变量,常量 | 常量 |
成员方法 | 构造方法,抽象方法,非抽象方法 | 抽象方法 |
设计理念 | 子类强制重写父类中的抽象方法 | 主要对行为抽象 |
继承+多实现
class 类名 extends 父类名 implements 接口名1,接口名2,接口名3... {
// 重写接口中抽象方法【必须】
// 重写接口中默认方法【不重名时可选】
}
接口多继承
interface 类名 extends 接口1,接口2{
//接口多继承之后,如果想使用,我们还必须定义实现类,才能使用
}