美文网首页
jdk8接口新特性

jdk8接口新特性

作者: 白纸糊 | 来源:发表于2018-12-29 10:58 被阅读0次

    在jdk8中存在2种类型的方法。
    1)静态方法 public static 方法名 [throws 异常列表]
    由于Java中可以同时实现多接口,如果2个接口同时存在同名,同参数的静态方法,如果同子类.静态方法,将不知道访问哪一个。
    因此不允许使用【子类.父类静态方法】形式访问,不能通过super方法.
    InterA interA = new CImpl();
    InterA.method(); //只可以父类名访问静态方法

     子类实现多个接口,存在的静态方法并不会冲突。因为只能通过各自父类访问父类静态方法。
     public class CImpl implements InterA,InterB  
     其中InterA InterB存在同名静态方法;甚至子类也可以存在同名方法,但是不能用override修饰,因为static方法不能重写
     public static void method(){
    

    System.out.println("子类C中的静态方法");
    }

    1. JDK8还允许存在默认方法 public default void defaultMethod(){} (default不能省略);
      子类重写接口默认方法时,必须去掉default。
      @Override
      public void defaultMethod(){
      System.out.println("子类A中的默认方法,必须去掉default修饰符");
      }
      子类实现多个接口时,如果存在同名的默认方法,子类将不知道继承哪一个,因此编译器要求子类重写父类中的默认方法;不过注意的事,
      子类不能用default修饰,default只能修饰接口中的默认方法。

    @Override
    public void defaultMethod() {
    // TODO Auto-generated method stub
    Inter8A.super.defaultMethod();
    }

    相关文章

      网友评论

          本文标题:jdk8接口新特性

          本文链接:https://www.haomeiwen.com/subject/qdjulqtx.html