接口的结构定义

JDK-1.7及以前:

  只能定义全局常量和抽象方法**
        >全局常量:`public static final` (建议省略不写)**
        >抽象方法:`public abstract`**

JDK-1.8:

  还可以定义静态方法,默认方法
        >接口中静态方法只能通过接口调用
        >接口中默认方法可以通过实现类对象调用

父类和接口优先级

  同名变量:必须进行显式区分
        >`super.变量名`
        >`Interface.全局常量名`
  同名同参数方法(接口中为默认方法):
        >(类优先原则)子类没有重写的情况下,优先调用父类的方法

接口和接口同名的默认方法

  有方法体:
        >实现类没有重写的情况下,报错(接口冲突).
         解决办法:实现类必须重写此方法
  没有方法体:
        >实现类中重写方法即可

在子类(或实现类)中调用父类或接口中被重写的方法

  调用父类的:`super.methodName`
  调用接口的:`Interface.super.methodName`
posted @ 2020-07-27 16:20  juyss  阅读(384)  评论(0编辑  收藏  举报