JAVA 接口 - 8.28

接口

接口的语法:

[修饰符] interface 接口名 extends 父接口1, 父接口2... {
    0-N 个常量;
    0-N个抽象方法;
}

一个完整类定义的语法:

[修饰符:public、final] class 类名 extends 父类 implements 接口1,接口2...{
....
}   

接口的定义

  • 接口是最彻底的抽象类
  • 接口里都是抽象的方法,没有实现的方法
  • 接口语法和类的区别class换为interface来定义

接口的特点

  • 接口不能被实例化,但是可以声明引用类型的变量
  • 使用接口来声明变量时该变量的运行时类型必须是该接口的实现类
  • 接口的所有成员定义只能用public和defualt
  • 接口中成员变量只能是静态,方法只能是抽象,所以可以省略static和abstract的书写
  • 接口可以多继承extends,用逗号隔开
  • 类可以implenments 多个接口,用逗号隔开

接口的作用

  • 用于定义实现类的行为规范;
  • 定义变量
  • 定义一些常量
  • 被其他类实现

接口和抽象类

相同点:
  • 都不能被实例化,位于继承树的顶端,是用于被其他类继承或者实现的;
  • 都可以包含抽象方法,子类都必须要实现抽象方法;
  • 在实际的开发中,都是接口先行,一般都是先定义接口,然后开发人员实现接口,完成具体方法的实现。

  • 抽象类是个半成品,可以作为一个模板去使用。

不同点:
  • 抽象类中可以定义普通方法,但是接口中都是抽象方法和静态变量;
  • 在抽象类是可以定义静态方法的,接口中不能定义静态方法的;
  • 在抽象中可以定义构造器的,但是在接口中是不存在构造器这个概念的;
  • 一个类最多只能有一个直接的父类或者抽象类,但是可以有多个接口的实现。

猜你喜欢

转载自blog.csdn.net/ShanGe9527/article/details/82194710
今日推荐