zoukankan      html  css  js  c++  java
  • Java接口

    Java 7以前 接口中可以包含的内容:常量,抽象方法

    Java 8 接口中额外可以包含的内容:默认方法,静态方法

    Java 9 接口中额外可以包含的内容:私有方法

    注意事项:

      1.接口当中的抽象方法,修饰符必须是public abstract,可以省略不写,默认就是

      2.接口不能直接使用,需要一个实现类实现该接口

      3.实现类必须实现(覆盖重写)接口中所有抽象方法,如果有一个或多个抽象方法没有实现,那么该类必须是抽象类

      4.接口中的常量必须使用public static final三个关键字进行修饰,可以省略不写,定义时必须赋值,否则报错(没有默认值),一旦赋值不可修改,通过接口名.常量名使用

      5.接口不能有静态代码块和构造方法

    默认方法(解决接口升级问题,比如需要在接口中添加一个新的抽象方法,而添加后以前所有实现该接口的类都必须修改,去实现新的抽象方法):

      格式:public default 返回值类型 方法名(...) {...}

      接口的默认方法可以被接口的实现类直接调用,也可以被接口的实现类覆盖重写

    静态方法:

      格式:public static 返回值类型 方法名(...) {...}

      不能通过接口实现类调用接口静态方法,而是通过接口名称调用接口静态方法,因为类可以实现多个接口,如果接口之间静态方法有相同,编译器就不知道该调用谁了

    私有方法(解决接口中有方法体的方法(默认方法,静态方法)中重复代码问题。抽取重复代码,放在私有方法中,让默认方法或者静态方法调用):

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

        格式:private 返回值类型 方法名称(...){...}

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

        格式:private static 返回值类型 方法名称(...){...}

    类与类之间是单继承的,一个类的直接父类只能有一个

    接口与接口之间是多继承的,一个接口可以继承多个父接口。

    类与接口之间是多实现的,一个类可以实现多个接口

    注意事项:

      1.多个父接口当中的抽象方法如果重复,没关系

      2.多个父接口当中默认方法如果重复,那么子接口必须进行默认方法的覆盖重写,【而且带着default关键字】

  • 相关阅读:
    编译使用luasocket
    使用openssl的一些问题
    c++调用lua注册的带参数的回调
    合服
    windows防火墙命令
    mac os .xip格式解压
    Get GPU Data Method
    Unity编译Mono
    Unity Mono运行机制分析及内存优化
    unity5 AssetBundleBuild用法
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12077304.html
Copyright © 2011-2022 走看看