鱼塘码农

菜鸟学习记录
鱼海无涯

java 接口 笔记

/*

  • 接口就是多个类的公共规范
  • 接口是一种引用数据类型,最重要的内容就是其中的抽象方法
  • 如何定义一个接口 public interface 接口名称{}
    *
  • 备注:interface 编译生成的文件还是.class
    *
  • Java7接口汇总可以包含的内容:1常量和2抽象方法
  • Java8可以额外包含有3默认方法和4静态方法
  • Java9可以包含5私有方法
    *
  • 在任何版本的java中接口都可以定义抽象方法
  • 1.接口当中的抽象方法,关键字必须是public abstract
  • 2.这两个关键字修饰符可以省略
  • 3.方法的三要素可以随意定义
    *
  • 接口使用的步骤:
  • 1、接口不能直接使用,必须有一个实现类来实现接口
  • public class 实现类名称 implements 接口名称{。。。}
  • 2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法
  • 3.创建实现类的对象,进行使用。
  • 注意事项:
  • 如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类就必须是抽象类
    *
  • 从Java8开始,接口允许定义默认方法
  • public default 返回值类型 方法名称(参数列表){。。。}
  • 接口中的默认方法可以解决接口升级的问题
  • 默认方法可以通过接口实现类对象,直接调用;也可以被接口实现类覆盖重写
    *
  • 从Java8开始,接口允许定义静态方法
  • public static 返回值类型 方法名称(参数列表){。。。}
  • 不能通过接口实现类的对象调用接口中的静态方法
  • 正确用法:通过接口名称 直接调用其中的静态方法
    *
  • 私有方法: Java9
  • 多个默认方法之间的重复代码:抽取公共(共有)方法
  • 这个共有方法不应该让实现类使用
  • 从java9开始,接口中允许定义私有方法
  • 1.普通私有方法,解决多个默认方法之间的重复代码问题
  • private 返回值类型 方法名称(参数列表){。。。}
  • 2.静态私有方法,解决多个静态方法之间的重复代码问题
  • private static 返回值类型 方法名称(参数列表){。。。}
    *
  • 常量:接口当中的"成员变量" 一旦赋值,不可修改
  • 必须使用public static final 数据类型 常量名称 = 数据值;
  • 一旦使用final关键词修饰,说明不可改变
  • 接口当中的常量,必须进行赋值。
  • 接口中的常量名称,必须完全大写,用下划线分隔
    *
  • 接口的注意事项:
  • 1.接口没有静态代码块或构造方法
  • 2.一个类的直接父类是唯一的,但是一个类和可以同时实现多个接口
  • 3.如果实现类所实现的多个接口汇总,存在重复的抽象方法,那么只需要覆盖重写一次即可
  • 4.如果实现类没有覆盖重写所有抽象方法,那么实现类必须是抽象类
  • 5.如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法,进行覆盖重写
  • 6.一个类如果直接父类之间的方法和接口中的方法发生冲突,优先使用父类的方法。
    *
  • 接口之间的多继承
  • 1.类与类之间是单继承的,直接父类只有一个
  • 2.类与接口之间是多实现的,一个类可以实现多个接口
  • 3.接口与接口之间是多继承的
  • 1.多个父接口当中的抽象方法如果重复不影响。2.多个父接口中的默认方法重复,子接口就必须重写默认方法

    • */
文章内容可能来自网络,纯为学习使用,若有侵权,请联系我删除 | 当前页面:鱼塘码农 » java 接口 笔记

评论