java-----接口

什么是接口:

硬件接口:是指两个硬件之间的链接方式

软件接口:程序代码,表示一种规范,具有N个方法的特征集合

在java中,接口表示一种约束规范/要求实现者必须遵循该规则。用来约束使用者应该怎么做


java中的接口(一个比抽象类还抽象的类):

定义类的语法: 

类型 class 名称 {}

定义接口的语法: 

类型 interface 名称 {}, 起名的时候一般都会使用able结尾,表示XXX能力
当接口成功编译之后,也会出现一个和类一样的字节码。

接口中存在的成员: 

1.接口中没有构造器,因此不能创建对象(不能new),接口中不能定义普通方法的。
2.接口中定义的成员变量,实质是全局静态常量,默认使用 public static final 来修饰。
3.接口中定义的方法都是公共抽象方法。默认的修饰符是:public abstract 来继续试。一般情况下,我们定义的方法不用修饰符
4.接口中定义的内部类都是公共的静态内部类,默认使用public static来修饰内部类
5.接口只能继承接口,不能继承类。但是接口支持多继承(类只能单继承)。

标志接口:

接口中没有任何成员,仅仅是一个接口的定义,也就是一个标示,其他的类实现该接口,属于一个家族,我们可以通过第三方代码赋予该接口实现类特殊的功能

常量接口:

存放一大堆常量


我们使用的接口都包含了抽象方法。

-------------------------------------------------------------------------------------------------------------------------------------------
类与类直接存在的是继承关系   ------》使用extends来表示
接口与接口之间只能存在继承关系 ---------------》使用extends来表示
接口与实现类之间只能是实现关系 --------------》使用 implements来表示



接口的实现者:实现类

接口仅仅是定义了某一类事物应该具有某些功能,但是没有提供任何实现
此时,我们得提供类,再让该类实现接口,并覆盖接口中的方法,从而实现接口类中定义的功能

接口和实现类之间的关系,严格意义上称为实现关系,使用implements来表示
但是在开发过程中,有时候为了方便,我们也把实现称为一种特殊的继承关系
所以,可以这样理解:接口是实现类的父类,实现类是接口的子类
为了体现多态: 我们通常在开发过程中    接口  变量名 = 创建实现类对象 ;

接口的实现的语法:

class 类名 extends 父类 implements 接口1,接口2

接口与抽象类的区别:

相同点:
1.都位于继承的顶端,用于该其他实现或者继承
2.都不能实例化
3.都可以定义抽象方法,其子类必须实现这些抽象方法

区别:
1.接口没有构造方法,抽象类有构造方法
2.抽象类可以有普通方法和抽象方法,接口只能有抽象方法
3.一个类只能继承一个父类,但是可也实现多个接口
4.变量:接口默认是public static final。抽象类默认是包权限
5.方法:接口默认是public abstract,抽象类默认是包权限
6.内部类:接口默认是public static,抽象类默认是包权限



你可能感兴趣的:(java基础,java基础)