理解
微观上来看是一种功能
如:鸟会飞,飞机会飞,所以飞是一个功能
打火机可以点火,火柴可以点火,火把可以点火,所以点火是一种功能
宏观上来看是一种规则
如何定义一个接口
语法:
访问权限修饰符 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 WORD01="输入";
String WORD02="输出";
String WPORD 03="结果";
}
概念:只定义常量的接口称为常量接口
接口回调
回:去之后,才有回的概念
案例:
点击登录按钮显示登录成功
分析: 按钮对象 点击事件
类或接口: Button类(按钮类)
属性:名称,点击后要执行的事件
方法: 设置点击后要执行的事件 按钮按下的方法
点击事件(接口) 方法: 预设点击后要执行的事件
环境类:
1,创建按钮对象
2,创建点击事件对象
1,创建一个类实现点击事件接口
2,重写点击事件抽象方法
3,创建该类对象
3,按钮设置点击后执行的事件
4,等待用户点击 为了模拟用户点火,自己使用按钮对象调用按下方法
接口与抽象类的区别
接口:
概念:功能或者规则
使用:
接口使用接口,多继承(extends)
类使用接口,多实现(implements)
注意:一个类可以实现多个接口
可一定义:
公共静态常量
公共静态方法
公共抽象方法
default修饰的方法
不能直接创建对象,如果想创建对象必须创建其子类对象,然后将其转换为父类(父接口)对象
会生成class文件
抽象类
概念:一类事务的描述概念
使用:
被别的类继承
注意:一个类只能直接继承于一个类
可以定义:
属性
构造函数
方法
抽象方法
代码块
不能直接创建对象,如果想创建对象必须创建其子类对象,然后将其转换为父类(父接口);
会生成class文件