• 接口整理笔记


    接口:

    一、语法格式:

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

    二、实现接口:

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

    接口中成员的访问特点:

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

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

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

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

    • 父类和接口的公有方法常量同名冲突:直接编译报错
    • 父类和接口的抽象方法同名冲突:子类只会重写一次,因为抽象方法没有方法体
    • 父类和接口的公有默认方法同名冲突:优先访问父类
    • 父类和接口的公有静态方法同名冲突:只会访问父类的静态方法
  • 相关阅读:
    jsp中添加弹窗口并且实现向后台双向传递数据
    hql中or的用法(代替union)
    hql中in的用法
    spring中的定时任务调度用例
    JS如何将UTC格式时间转本地格式
    HttpSession与Hibernate中Session的区别
    adaptive hash index
    InnoDB Double write
    int(M)与int
    MySQL库目录下db.opt文件的作用
  • 原文地址:https://www.cnblogs.com/YwhsR0129/p/13653370.html
Copyright © 2020-2023  润新知