Java 面向对象编程之接口

什么是接口?

  • 是抽象方法的集合,接口通常以interface来声明,一个类通过继承接口的方式,从而来继承接口的抽象方法
  • 语法
interface 名称 [extends 其他的接⼝名] {
 // 声明变量
 // 抽象⽅法
 int getMoney();
}

接口的特点

  1. 接口的方法都是抽象方法,默认都是public abstract,其他修饰符都会报错
  2. 接口中可以含有变量,但是接口中的变量会被隐式的指定为public static final
  3. 类描述对象的属性和方法,而接口则包含类要实现的方法
  4. 接口无法被实例化,需要被实现才行
  5. 一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类

接口和类的区别

  1. 接口没有构造函数
  2. 接口里可以有静态方法和方法体
  3. 接口中所有的方法必须是抽象方法(jdk8之后就不是)
  4. 接口不是被类继承了,而是要被类实现
  5. 接口支持多继承,类不支持多个类继承

接口的实现(implements)

  当类实现接⼝的时候,类要实现接⼝中所有的⽅法,不然类必须声明为抽象的类,使⽤
implements关键字实现所有接⼝

语法

class 类名 implements 接⼝名称[, 其他接⼝名称, 其他接⼝名称]{
 //要实现的⽅法
}

注意

  1. 一个类只能继承一个类,但是能实现多个接口
  2. 接口能继承另一个接口,接口的继承使用extends关键字,和类继承一样

JDK8新特性

  1. interface中可以有static方法,但必须有方法实现体,该方法只属于该接口,接口名直接调用该方法
  2. 接口中新增default关键字修饰的方法,default方法只能定义在接口中,可以在子类或子接口中被重写
  3. default定义的方法必须有方法体
  4. 父接口的default方法如果在子接口或子类被重写,那么子接口实现对象、子类对象,调用该方法,以重写为准
  5. 本类、接口如果没有重写父类(既接口)的default方法,则在调用default方法时,使用父类定义的default方法逻辑

猜你喜欢

转载自www.cnblogs.com/chenyanbin/p/13377839.html