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");
      }
    }
  • 相关阅读:
    c++中关于用stringstream进行的类型转化
    c++中字符串的反转
    搬家
    初次见面,请多关照。
    CCPC2019吉林省赛&&东北地区赛游记
    VS Code下搭建简单的Haskell开发环境
    从零开始的KMP&&AC自动机
    从零开始的LCA(最近公共祖先)
    LuoguP2123 皇后游戏
    LuoguP1080 国王游戏
  • 原文地址:https://www.cnblogs.com/sinoaccer/p/12014585.html
Copyright © 2011-2022 走看看