类似一种特殊的抽象类,是一种标准、一种能力、一种约束
Java为单继承 当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力
关键字 interface
public interface 接口名{}
public interface MyInterface{ }命名
I+接口名 接口名+Impl包:一般创建在接口所在的包的子包 名称为 impl
语法:
//单实现 public class Impl1 implements Interface{ } //多实现 public class Impl1 implements Interface,Interface2,...{ }多种不同类型的引用指向同一个对象时,表示看待对象的视角不同
不同的引用所能看到的对象范围不同,只能调用自身类型中所声明的部分
例如:Runnable r = new Dog()把狗看成会跑的东西
将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码可读性
先有接口的使用者,后有接口的实现者
接口中所有属性都是公开静态常量,隐式使用public static final修饰
抽象类中有普通属性
接口中的方法都是公开抽象方法,隐式使用public abstract 修饰
抽象类中有抽象方法、也有普通方法
接口中没有构造方法、动态代码块、静态代码块
抽象类中可以有构造方法、动态代码块、静态代码块