接口
一、接口语法
1.1 基本使用
概念:接口相当于特殊的抽象类,定义方式、组成部分与抽象类类似。使用interface关键字定义接口
特点:
没有构造方法,不能创建对象。
只能定义:公开静态常量、公开抽象方法。
案例演示:自定义接口。
接口
public interface MyInterface {
//公开的静态常量
//public static final String NAME="接口1";
String NAME="接口1";
//公开的抽象方法
//public abstract void method1();
void method();
}
实现类
public class Impl implements MyInterface1{
@Override
public void method() {
System.out.println("method");
}
}
测试类:
public class TestInterface {
public static void main(String[] args) {
//new MyInterface1();
MyInterface1 myInterface1=new Impl();
myInterface1.method();
}
}
1.2 和抽象类区别
相同点:
可编译成字节码文件。
不能创建对象。
可以作为引用类型。
具备Object类中所定义的方法。
不同点:
所有属性都是公开静态常量,隐式使用public static final修饰。
所有方法都是公开抽象方法,隐式使用public abstract修饰。
没有构造方法、动态代码块、静态代码块。
二、微观接口【重点 】
微观概念:
接口是一种能力和约定。
接口的定义:
代表了某种能力。
方法的定义:
能力的具体要求。
经验:
Java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力。
接口支持多实现,可为类扩充多种能力。
三、接口规范
任何类在实现接口时,必须实现接口中所有的抽象方法,否则此类为抽象类。
实现接口中的抽象方法时,访问修饰符必须是public。
同父类一样,接口也可声明为引用,并指向实现类对象。
四、接口实现多态
接口实现多态:
使用接口作为方法的参数和返回值,实际赋值实现类对象实现多态。
五、接口常见关系
类与类:
单继承 extends 父类名称
类与接口:
多实现 implements 接口名称1 , 接口名称2 , 接口名称n
接口与接口:
多继承 extends 父接口1 , 父接口2 , 父接口n
六、常量接口
将多个常用于表示状态或固定值的变量,以静态常量的形式定义在接口中统一管理,提高代码可读性
七、宏观接口【重点 】
7.1 概念
宏观概念:接口是一种标准、规范。
7.2 回调原理
接口回调:先有接口的使用者,后有接口的实现者
7.3 接口好处
程序的耦合度降低。
更自然的使用多态。
设计与实现完全分离。
更容易搭建程序框架。
更容易更换具体实现。