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");
      }
    }
  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/sinoaccer/p/12014585.html
Copyright © 2011-2022 走看看