接口整理笔记

接口:

一、语法格式:

  • 常量:默认使用public static final关键字修饰,这三个关键字也是可以省略不写的
  • 抽象方法:使用public abstract关键字修饰,这两个关键字可以省略
  • 默认方法:使用public default关键字修饰,public 可以省略,但是default不可以省略
  • 静态方法:使用public static关键字修饰,public可以省略,static不可以省略(接口的静态方法不可以被实现类继承)
  • 私有方法使用private关键字v修饰,private不可以省略

二、实现接口:

类实现接口后,必须重写接口中所有的抽象方法,否则该类必须是一个“抽象类”

接口中成员的访问特点:

  • 常量:主要是供接口直接使用,可以被实现类继承,测试类可用接口名直接调用
  • 抽象方法:仅供实现类重写
  • 默认方法:供实现类继承,可以在实现类中直接调用(接口名.super.默认方法名),可以在测试类中通过是实现类对象调用
  • 静态方法:供接口直接调用,可在实现类和测试类中直接使用接口名调用,实现类继承不了
  • 私有方法:只能在接口中直接调用,实现类继承不了

三、接口多继承接口的冲突(接口C extends 接口A,接口B)

  • 常量同名:直接编译报错
  • 公有抽象方法同名冲突:子类只会重写一次,因为抽象方法没有方法体
  • 公有默认方法同名冲突:子类会重写该方法,确认使用哪个接口

四、实现类继承父类又实现接口的冲突

  • 父类和接口的公有方法常量同名冲突:直接编译报错
  • 父类和接口的抽象方法同名冲突:子类只会重写一次,因为抽象方法没有方法体
  • 父类和接口的公有默认方法同名冲突:优先访问父类
  • 父类和接口的公有静态方法同名冲突:只会访问父类的静态方法
posted @ 2020-09-11 18:41  化蛹  阅读(237)  评论(0编辑  收藏  举报