理解
微观上来看是一种功能
如:
1,鸟会飞,飞机会飞,所以飞是一个功能
2,打火机可以点活,火柴可以点火,点火是一种功能
宏观上来看是一种规则
如:
电脑上提供usb接口,只有符合该接口的要求,就可以与电脑连接
如何定义一个接口
语法:
访问权限修饰符 interface 接口名{
}
注意:
可以定义公共静态常量,因为接口中的属性默认使用public static final修饰
接口中不能定义构造函数,因为接口不能创建对象
可以定义公共静态方法,接口中的方法默认使用public修饰
可以定义公共抽象方法,接口中的抽象方法默认使用public abstract修饰
jdk1.8以后可以定义default修饰的方法,如:
default 返回值类型 方法名(行参列表){
方法体
}
不能定义代码块与静态代码块
不能定义构造函数,因为接口不能创建对象
不能定义普通属性
不能定义普通方法
如何使用接口
类使用接口:实现
语法:
访问权限修饰符 class 类名 extends 父类名 implements 接口名1,接口名2...{
}
注意:
一个类只能继承一个直接父类(单继承)
一个类可以实现多个接口(多现实)
一个子类对象可以转换为多个父类或接口对象
优点:
1,接口可以多实现,代码的扩展性得到提升
2,接口可以多实现,所以一个实现了多个接口的子类对象,可以转换为多个接口
接口使用接口:继承
语法:
访问权限修饰符 interface 接口名 extends 父接口名1,父接口名2...{
}
注意:
一个接口可以继承与多个接口
子接口可以继承父接口的公共静态常量
子接口可以继承父接口default修饰的方法
子接口可以继承父接口的抽象方法
子接口不能继承父接口的公共静态方法
继承的多个接口中有相同的default的方法,此时子接口要重写该方法
继承的多个接口中有相同的属性,此时会出现冲突,避免此种情况
继承的多个接口中有相同的抽象方法,此时不需要处理,因为抽象方法要么被重写要么实现该接口的类也是抽象类
特殊使用情况
常量接口
interface utils{
String ERROR_01 = "请检查您的网络";
String ERROR_02 = "您的账号被盗";
}
概念:只定义 常量的接口称为常量接口
接口回调(**)
回:去之后,才有回的概念
总结:
步骤1:创建接口对象
步骤2:传递接口对象
步骤3:调用某方法时,该方法中使用传递的接口对象调用接口方法
接口与抽象类的区别
接口:
概念:功能或者规则
使用:
接口使用接口,多继承(extends)
类使用接口,多实现(implements)
注意:
一个类可以实现多个接口
可以定义:
公共静态常量
公共静态方法
公共抽象方法
default修饰的方法
不能直接创建对象,如果想创建对象必须创建其子类对象,然后将其转换为父类(父接口)对象
会生成class文件
抽象类:
概念:一类事物的描述概念
使用:
被别的类继承
注意:一个类只能直接继承与一个类
可以定义:
属性
构造函数
方法
抽象方法
代码块
不能直接创建对象,如果想创建对象必须创建其子类对象,然后将其转换为父类(父接口)对象
会生成class文件