接口的语法
接口相当于特殊的抽象类,定义方式与抽象类类似,所有方法都没有方法体
interface MyInterface{ //定义一个接口
public static final String FIELD = "value"; // 公开静态常量
public abstract void method(); // 公开抽象方法
}
接口只能定义:公开静态常量,公开抽象方法。
没有构造方法,不能创建对象。
与抽象类的异同
相同:
1.可编译成字节码文件,就是class文件
2.不能new对象
3.可以作为引用类型
4.具备Object类所定义的方法(后面会回来补)
不同:
所有属性都是公开静态常量,隐式使用public static final
所有方法都是公开抽象类,隐式使用public abstract
没有构造方法,动态代码块,静态代码块
微观概念:接口是一种能力和约定
接口的定义:是一种能力
方法的定义:能力的具体要求
Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类的能力