欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[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、继承实现
  抽象类:一个类只能继承一个抽象类