[Android]【安卓】【Java】接口

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

猜你喜欢

转载自blog.csdn.net/Hystudio_lzu/article/details/80962956