
1、接口
1.1 接口的引入
Java语言中,类与类的继承只能是单继承。 试想一下,如果一个类中的所有方法都是抽象方法,子类继承后,需要重写所有方法,但是因为单继承,就不能去继承其他有实际方法的父类了。 为了解决这个弊端,Java语言中把一种特殊的抽象类定义成一个新的概念,接口,即interface 接口的本质就是一个类,不过是一个纯的抽象类,就是没有变量,没有具体方法的抽象类。
1.2 接口的定义
Java接口是一系列方法的声明,是一些抽象的集合 一个接口只有抽象方法没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 简单地说,接口就是特殊的抽象类,即所有方法都是抽象方法,抽象类就是Java中的接口(interface)。
1.3 接口的基本格式
[修饰符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}
注意: ·修饰符:可选,用于指定接口的访问权限,可选值为public。即使省略,也依然是public。 ·接口名:必选参数,用于指定接口的名称,接口名必须是合法的Java标识符。一般情况下,要求首字母大写。 ·extends 父接口名列表:可选参数,用于指定要定义的接口继承于哪个父接口。当使用·extends关键字时,父接口名为必选参数。父接口可以存在多个,用逗号隔开。 方法:接口中的方法只有定义而没有被实现。
例:
public interface Flyable extends Runnable , Comparable<Flyable>{
//常量,没有变量属性
public static final double PI = 3.14;
//public static final可以省略,默认会加上
double LB = 30.0;
//只能是抽象方法,也没有构造方法
public abstract void fly();
//public abstract可以省略&#x