zoukankan      html  css  js  c++  java
  • JDK8中接口的新特性

    在JDK8环境中,接口中的方法不再是只能有抽象方法,还可以有静态方法和default方法。实现类只需要实现它的抽象方法即可,JDK8中的接口有愈发向抽象类靠拢的感觉。

    关于静态方法和默认方法作如下简述:

    1、静态方法:public static 方法名 [throws异常列表]

    在接口中直接由接口名调用,不需要由接口的实现类对象来调用。

    2、default方法:public default void defaultMethod(){}【default不能省略】

    由于Java中是单继承的,但接口可以同时实现多个。所以,若2个接口存在同名,同参数的默认方法,将无法识别到底调用的是哪个接口的方法,此时必须在实现类中显式重写default方法,而关于default的方法的重写,我们在实现类中不需要继续出现default关键字也不能出现default关键字

    注意:重写default方法的访问权限必须是public子类重写接口默认方法时必须去掉default。因为default方法除了没有显式的访问修饰符外,只能用public访问限定符来修饰,而在Java中重写一个方法,访问限定符一定要大于父类或者接口指定的访问限定符范围,而且方法声明处抛出异常也要大于后者。所以访问权限必须是public。

    @Override

    public void defaultMethod(){}

    /**
     * JDK8中接口新特性
     */
    public interface TestJDK8NewInterface {
      /**
       * 静态方法
       */
      static void staticMethod(){
        System.out.println("staticMethod");
      }
      /**
       * 默认方法
       */
      default void defaultMethod(){
        System.out.println("defaultMethod");
      }
    }
  • 相关阅读:
    sws_getContext函数参数介绍
    FFmpeg 将YUV数据转RGB
    信号槽同步
    git stash
    Qt 事件
    Qt 信号与槽函数
    微信红包的算法实现
    Python正则表达式中的re.S
    hive函数 -- split 字符串分割函数
    python None与Null
  • 原文地址:https://www.cnblogs.com/sinoaccer/p/12014585.html
Copyright © 2011-2022 走看看