宏观
规则
微观
功能
定义:
访问权限修饰符 interface 接口名{
}
接口中可以定义哪些内容?
1、接口中可以有公共静态常量
接口中的属性默认使用 public static final修饰
2、接口中可以有公共静态方法
3、接口中可以有公共抽象方法
接口中的抽象方法默认使用 public abstract 修饰
4、接口中有default修饰的普通方法(了解)
5、接口中没有构造函数
6、接口中没有代码体
接口的使用:实现与继承
接口与接口:多继承
关键字:extends
语法:
访问权限修饰符 interface 接口名 extends 父接口名1,父接口名2....{
}
注意:
1、不继承父接口的静态方法
2、可以继承父接口的公共静态常量
3、可以继承父接口的所有抽象方法
接口与类:多实现
关键字:implements
语法:
访问权限修饰符 class 类名 extends 父类名 implements 父接口名1,父接口名2...{
}
注意:
1、一个类可以有多个接口
2、要么这个类重写所有接口的抽象方法,要么自己也是抽象类
抽象类与接口的区别
抽象类
不同点:
本质:概念
可以有构造函数
可以有普通方法
方法和属性可以私有
静态方法可以被继承
可以有代码块
只能被类单继承
不能继承与接口
相同点:
都不能直接创建对象
都可以生成class文件
接口
不同点
本质:规则、功能
没有构造函数
不能有普通方法
方法与属性必须是公共的
静态方法不能被继承
不可以有代码块
可以被类多实现
可以继承于多个接口
相同点:
都不能直接创建对象
都可以生成class文件
特殊接口
常量接口:记录几个永远不会发生改变的值
public class Utils{
public static final int ERROR_01 = 500;
public static final int ERROR_02 = 404;
public static final int ERROR_03 = 305;
public static final int OK = 200;
}
public interface Utils{
int ERROR_01 = 500;
int ERROR_02 = 404;
int ERROR_03 = 305;
int OK = 200;
)
空接口:表示啥也没有
可以让多个子类转化为父类
总结
本质:规则、功能
语法:
访问权限修饰符 interface 接口名{
公共静态属性;
公共静态方法;
...
}
使用:
接口使用接口
一个接口继承多个接口
类使用接口
一个类可以实现多个接口
特殊使用
接口回调
常量接口
空接口