• 接口(interface)


    接口就是多个类的公共规范

    接口就是一种引用数据类型,最重要的内容就是:抽象方法

    格式:

    public interface 接口名称{  接口内容  }

    编译生成的字节码文件还是 .class

    接口可以包含的内容:

    1.常量

    2.抽象方法      (Java7)

    3.默认方法

    4.静态方法   (Java8)

    5.私有方法   (Java9)

    注意事项:

    1.接口中的抽象方法,修饰符必须是 public abstract

    2.这两个关键字修饰符,可以都省略不写,或者省略一个,也是抽象方法

    3.方法三要素可自由定义

    接口使用步骤:

    1.接口不能直接使用,必须有“实现类”来“实现”该接口

    格式:

    public class 类名称 implements 接口名称 {}

    2.接口的实现类必须覆盖重写(实现)接口中的所有抽象方法

    实现:去掉 abstract ,加上方法体大括号

    3.创建实现类的对象,进行使用 (可以Impl)

    如果实现类并没有覆盖重写接口中的所有抽象方法,那么这个实现类自己就必须是抽象

    关于接口中的默认方法:(解决接口升级,所有实现类报错的问题)

    格式:

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

    其中 public 可写可不写

    接口默认方法,可以通过接口实现类对象直接调用;也可以被接口实现类进行覆盖重写

    关于接口中的静态方法:

    格式:

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

    public 可写可不写

    不能通过接口实现类的对象直接调用接口中的静态方法

    正确方法:接口方法 . 静态方法名(参数);

    关于接口中的私有方法:(解决默认方法中的重复代码问题,私有化的,不让实现类使用 Java 9 开始)

    1.普通私有方法:解决多个默认方法间重复代码问题

    private 返回值类型 方法名称(参数列表){ 方法体 }

    2.静态私有方法:解决多个静态方法间重复代码问题

    private static 返回值类型 方法名称(参数列表){ 方法体 }

    接口的常量:格式:

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

    一旦使用 final 修饰,就说明不可改变

    1.public static final 可以省略

    2.接口常量必须赋值

    3.接口常量名称,必须使用完全大写的字母,用下划线进行分割

    ps

    1.接口没有静态代码块或者构造方法

    2.一个类直接父类是唯一的,但是一个类可以同时实现多个接口

    3.重复的抽象方法只需要写一个

    4.所有的抽象方法必须重写,不然就必须是抽象类

    5.若多个接口的默认方法冲突了,则实现类必须对其重写

    6.一个类的直接父类方法,和接口中的默认方法发生冲突,则优先使用父类的方法

    7.多个父接口之间的抽象方法重复,没有关系;若是默认方法重复,则子接口必须重写

  • 相关阅读:
    [HDOJ3567]Eight II
    [HDOJ3622]Bomb Game
    HTML 5 音频
    下拉菜单
    固定导航及右侧固定广告
    隔行换色
    返回顶部
    HTML 5 视频
    TAB切换
    自我介绍
  • 原文地址:https://www.cnblogs.com/aoligei/p/12372567.html
Copyright © 2020-2023  润新知