接口

一、什么是接口

  借口是一种规范和标准,他可以约束类的行为,是一些方法特征的集合,但是没有方法的实现,接口可以看做是一个特殊的“抽象类”,但是采用与其完全不同的语法表示;

二、定义接口语法:

修饰符 interface 接口名 extends 父接口,父接口...

{

//常量定义

//方法定义

}

三、接口实现语法:

calss 类名 extends 父类名 implements 接口1,接口2...

{

//类成员

}

四、接口说明:

  1)接口的命名规则与类相同,如果修饰符为public,则该接口整个项目可见,如果省略修饰符,则改接口只在当前包内可见;

  2)接口中可以定义常量,不能定义变量,接口中的属性都会自动用public static final修饰,即接口中的属性都是全局静态常量,接口中的常量必须在定义的时候指定初始值;

  3)接口中的所有方法都是抽象方法,接口中的方法都会自动用publicabstract修饰,即接口中只有全局抽象方法;

  4)和抽象类一样,接口也不能被实例化,接口中不能有构造方法。

  5)接口之间可以通过extends实现继承,一个接口可继承多个接口,但接口不能继承类;

  6)接口的实现类必须重写接口的全部方法,否则必须定义为抽象类。

五、implements

  通过implements实现接口,当类在继承父类的同时又实现了多个接口,extends关键字必须位于implements之前。

六、接口注意事项:

  1)接口不能被实例化

  2)一个类如果实现一个接口,必须重写接口内的所有方法

  3)接口内不能有构造,抽象类可以有

  4)接口中的所有方法都是公有的抽象方法

  5)接口中的所有字段都是公有的静态常量

  6)接口也是一种数据类型

  7)通过接口实现多继承

  8)一个接口最好只定义一个方法,防止接口污染

  9)接口只是为了实现他的类定义了规范,保证了实现类的方法名称,返回值,方法参数,和接口中对应方法一致

七、抽象类与接口的区别

  1)抽象类中能有普通方法、构造、普通字段

  接口中不能有

  2)抽象类不能实现多继承

  接口可以

  3)抽象类符合 is a的关系

  接口符合 has a的关系

  4)接口比抽象类的抽象程度更高

原文地址:https://www.cnblogs.com/whtt/p/10670530.html