接口通常以able结尾,代表一种可以外部添加给别的类的能力
1、接口是在类以外的另外一种类型,它是独立的。
2、接口主要关注的是行为
3、接口关注的是由外部选择性提供给类的行为。
接口的属性,只能是公共静态常量
就算不写也会默认 public static final 数据类型 自定义名
公共 静态 常量
接口的方法
就算不写public abstract 也会默认public abstract,
public abstract void test1();
public void test2();
接口也可以实现动态绑定
即:接口的引用 可以 指向实现类的对象
假如此时要看该对象的特有属性,那么应该做强制类型转换
强转有风险,也要用instanceof做判断。
接口的特点
接口里的方法都是abstract(通常是隐式使用),不能实现
用implements关键字可以让一个类实现接口
实现接口的类必须实现接口里所有的方法
一个类可以实现多个接口
Implements和extends都是is-a的关系
接口里可以声明属性,默认都是public static final
is-a继承
has-a属性
use-a局部变量
like-a接口
使用接口的原则
使用接口解决多继承
使用接口为外部类添加功能
以面向对象的角度考虑,将一个类与身俱来的特征和行为和依赖于外部的可选的特征和行为分离,
让类尽可能的单纯,即解耦。
接口的优点
接口用于暴露一个类的某些行为,而不是这个类的所有行为。
接口还可以用于强制作用于其他对象的行为,确保某些方法被对象实现。