1、接口
1.1、接口的概念
接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。
接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成。这样将功能的定义与实现分离,优化了程序设计,如提高了程序扩展性等。
官方:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能) 。
含义:
一,Java接口,Java语言中存在的结构,有特定的语法和结构;
二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。
定义格式:
接口定义时需要使用interface关键字。接口是一种特殊的数据类型,并在编译后仍然会产生.class文件
public interface 接口名 {
抽象方法;
…………
}
特殊性:
接口中只能定义公共访问的抽象方法。
接口中无法定义普通的成员变量,只能定义常量。
实现接口:
我们使用实现来表示一个类与一个接口之间的关系,这是最常用的使用方法。实现的关键字为implements。
类在实现接口后,会将接口中的抽象方法继承过来,并重写该抽象方法,完成具体的逻辑。
格式:
class 类名 implementsi 接口名{
重写接口方法
}
注意事项 :
- Java支持一个类同时实现多个接口。
- Java支持一个接口同时继承多个接口。
- 类可以在继承一个类的同时,实现多个接口。
- 接口与父类的功能可以重复,均代表要具备某种功能,并不冲突。
- 接口中的成员是有固定修饰符的,如果没有写,也会自动加入:
“变量”修饰符为:public static final
方法修饰符为:public abstract(所以依据方法重写的访问权限注意事项,重写接口方法时,必须使用public)
所以接口中可以省略这些修饰符。 - 当一个类实现了接口时,必须实现其所有的方法,否则这个类会保留一些抽象方法,此时,该类包含了抽象方法,便必须定义为一个抽象类。