[Android]【安卓】【Java】接口
程序员文章站
2022-06-13 21:13:47
...
[Android]【安卓】【Java】接口
本篇博客已收录到我的安卓开发小结中——点击【安卓开发小结】
(1)用法:
修饰符 interface 接口名 extends 父接口1,父接口2…{
常量定义;
抽象方法定义;
内部类定义;
接口定义;
枚举类定义;
默认方法或类方法定义(Java8才支持)
}
A、接口修饰符为public或省略(省略默认使用包修饰符)。
B、接口可以有多个父接口,但不能继承类。
C、接口里不能有构造器和初始化块。
D、接口里的成员变量(静态常量)、方法(抽象方法、类方法、默认方法(Java8))、内部类(包括内部接口、枚举)。
E、接口里的成员都是public权限,如果没有修饰符,默认为public修饰。
F、接口里的静态常量都要用static final修饰,没有,默认为static final修饰。
G、接口里不是类方法和默认方法的普通方法,都要有abstract修饰,没有,默认为abstract修饰。
H、接口不能实例化,但可以声明引用类型。
(2)使用接口:
修饰符 class 类名 extends 父类 implements 接口1,接口2…
{
类体
}
A、实现接口,可以获得接口了的成员变量(静态常量)、方法(抽象方法和默认方法)
B、一个类实现了一个接口后,必须完全实现所有的抽象方法,否则将会继承到抽象方法,那么这个类也必须定义为抽象类。
C、接口不能显示继承任何类,但是接口类型的引用变量可以赋给Object类型的引用变量。
其他
A、方法
抽象类:抽象方法和普通方法,可以定义静态方法
接口:只能定义静态常量
B、成员变量
抽象类:既可以定义静态常量、也可以定义普通成员变量
接口:没有构造器
C、构造器
抽象类:有构造器,但不能实例化,用于子类的初始化调用
接口:没有初始化块
D、初始化块
抽象类:可以有初始化块
接口:一个类可以实现多个接口
E、继承实现
抽象类:一个类只能继承一个抽象类