接口
从抽象的角度讲,抽象类作为类的一个模板,既可以含有抽象方法,又可以含有非抽象方法,限制了子类的设计
接口,只含有抽象方法和常量,可以更加规范地对子类进行约束
接口的定义
由抽象声明和接口体两部分组成
格式:[public] interface 接口名 { 常量数据成员的声明及定义、抽象方法的声明}
注意
- 接口体中定义的常量,系统默认是“public static final”修饰的,不需要指定
- 声明的方法,系统默认是“public abstract ”修饰的,不需要指定
接口的实现
在类的声明部分用关键字implements声明这个类实现某个接口,如果有多接口,接口名之间用逗号隔开
格式如下:
class 类 [ extends 父类名] implements 接口1,接口2,…{ 实现接口中的所有抽象方法}
接口与抽象类的区别
语法 | interface 接口名{ } | abstract 抽象类名{ } |
---|---|---|
实例化 | 不能之间实例化 | 不能之间实例化 |
方法 | 接口中的方法全部是抽象方法 | 不一定全部是抽象方法 |
继承 | 一个类可以实现多个接口 | 一个子类只能有一个直接父类 |
成员权限 | 成员都是public | 不一定都是public |