java中的接口(interface)

接口(基于jdk1.9)

定义:

一种公共的标准规范

接口中可以包含的属性和方法

常量:public static final 数据类型 常量名称 = 数据值;

注意:

  • 常量在定义时必须进行赋值,而且一旦赋值就不能被改变
  • 常量名称完全大写,多个单词时用下划线分隔

方法:
抽象方法 : public abstract 返回值类型 方法名称(参数列表);

注意:

  • 实现类必须覆盖接口中的所有的抽象方法,除非实现类是一个抽象类

默认方法:public default 返回值类型 方法名称(参数列表){
                                 方法体
                  }

注意:

  • 默认方法既可以被实现类继承也可以被实现类覆盖

静态方法:public static 返回值类型 方法名称(参数列表){
                                     方法体
                   }

注意:

  • 只能通过接口名称进行调用,实现类名称和实现类对象都不能调用

私有方法:分为一般私有方法 && 静态私有方法

一般私有方法:private 返回值类型 方法名称(参数列表){
                                     方法体
                          }
}
静态私有方法:private static 返回值类型 方法名称(参数列表){
                                     方法体
                          }

扫描二维码关注公众号,回复: 11732198 查看本文章

注意:

  • 私有方法只能被接口内部访问,不能被实现类和其它类访问

注意:

  • jdk1.7接口中只能包含常量和抽象方法
  • jdk1.8在1.7的基础上增加了默认方法和静态方法
  • jdk1.9 在1.8的基础上增加了私有的一般方法和私有的静态方法
接口注意事项
  • 接口中不允许存在【构造函数】、【静态代码块】、【构造代码块】但允许存在局部代码块
  • 如果实现类所实现的多个接口当中存在【重复的抽象方法】实现类只需要覆盖一次即可
  • 如果实现类所实现的多个接口当中存在【重复的default方法】实现类必须要对重复的方法进行覆盖
  • 如果实现类所实现的多个接口当中存在【重复的静态方法】实现类不需要进行任何操作,因为接口中的静态方法只能被接口名调用与实现类无关
  • 实现类的直接父类与实现的接口中的default方法重名时,优先访问父类中的方法
类与接口的关系
  • 类与类之间是继承关系

注意:java类与类之间只支持【单继承】,并且类只能有一个直接父类

  • 类与接口之间是实现关系,

注意:一个类可以实现多个接口

  • 接口与接口之间是继承关系

注意:接口与接口之间支持多继承
          多个父接口中的default方法重复时,子接口必须覆盖该方法【且要带着default关键字】


               文章若有不足之处,请大家在下方留言看到后会进行更新,谢谢大家了!

猜你喜欢

转载自blog.csdn.net/weixin_45864391/article/details/108245914