Day13 接口
生活中的接口
USB接口,插座口
Usb接口,需要满足接口的厚度和宽度
遵守磁片的个数
插座 插头满足插座的个数
电压、电流等。
4.2概念
接口是一种能力和约定
1、接口的定义:代表某种能力
2、方法的定义:能力的具体要求
接口可以多实现,用于扩充子类的能力。
1.1接口特点
与抽象类不同
1、接口不能创建对象,没有构造方法,动态代码块{},静态代码块static{}。
2、接口中,所有属性都是公开静态常量,隐式使用public static final修饰。
3、接口中,所有的方法都是公开抽象方法,隐式使用public abstract修饰。
与抽象类的相同
1、可以作为引用类型
2、不能创建对象
3、可以编译成字节码文件
1.2语法
关键字 interface,表示接口类型,与class类平级
public interface 接口名{
//静态常量
//抽象方法
}
1.3接口的实现
类与接口的关系 implements
代码实现
public interface Person{
void eat();//接口方法默认为public abstract修饰
}
// 学生类 实现了 人类
public class Student implements Person{
//必须重写接口中的抽象方法
public void eat(){
//方法体
}
}
特别注意:一个类在实现接口的时候,并不影响继承
public class Boy extends Man implements Person{
public void eat(){
//方法体
}
}
接口规范:任何类在实现接口时,必须实现接口中的方法,否则类是抽象类
实现接口中的方法时,方法访问修饰符必须是public
1.4接口引用
跟父类一样,接口亦可声明为引用,并指向实现类对象。
public interface Person{ void eat(); } public class Student implements Person{ public void eat(){ } } public static void main(String[] args){ Person p = new Student();//接口引用指向实现类对象 }
注意:此方式,仅可使用接口中声明的方法,不可调用子类独有的方法
可转换为实现类类型,调用独有方法。
1.5关系
I. 类与类=继承 //单继承、多级继承
II. 接口与接口=继承 //多继承、多级继承
III. 类与接口=实现 //多实现
IV. 一个类在继承父类的同时,还可以实现多个接口,用以扩充此类的能力。
1.6接口的回调
先有接口的使用者,后有接口的实现者
1.7接口的好处
设计与实现完全分离
自然的使用多态
程序耦合度降低
更容易搭建框架程序
更容易更换具体实现
1.8常量接口
(img-n9beLKSo-1577615961470)]
1.7接口的好处
设计与实现完全分离
自然的使用多态
程序耦合度降低
更容易搭建框架程序
更容易更换具体实现
1.8常量接口
将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理