Java接口(interface),扫盲贴

接口(interface)是Java所提供的另一种重要技术,它的结构和抽象类非常相似,也具有数据成员与抽象方法,但它与抽象类又有以下两点不同:
1、接口里的数据成员必须初始化,且数据成员均为常量。
2、接口里的方法必须全部声明为abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。

接口定义的语法如下:

interface 接口名称// 定义抽象类
{ 
    final 数据类型  成员名称 = 常量  ;// 数据成员必须赋初值
    abstract 返回值的数据类型  方法名称(参数…);
    // 抽象方法,注意在抽象方法里,没有定义方法主体
} 

接口与一般类一样,本身也具有数据成员与方法,但数据成员一定要赋初值,且此值将不能再更改,方法也必须是“抽象方法”。也正因为方法必须是抽象方法,而没有一般的方法,所以抽象方法声明的关键字abstract是可以省略的。相同的情况也发生在数据成员身上,因数据成员必须赋初值,且此值不能再被更改,所以声明数据成员的关键字final也可省略。
在java中接口是用于实现多继承的一种机制,也是java设计中最重要的一个环节,每一个由接口实现的类必须在类内部复写接口中的抽象方法,且可自由地使用接口中的常量。既然接口里只有抽象方法,它只声明而不定义处理方式,于是自然可以联想到接口也没有办法像一般类一样,再用它来创建对象。利用接口打造新的类的过程,称之为接口的实现(implementation)。

原文地址:https://www.cnblogs.com/xiaojihua20/p/4134995.html