Java8之接口新特性

简要说明

接口新增了两个关键字:default和static

之前接口中,无方法体方法,需要在实现类中进行重写实现;
         java8中,方法前加入default,可以在方法中加入方法体,实现类中不需要进行重写实现该接口;
        如果一个类实现多个接口,接口中有相同的default接口方法(非重载方法),则需要重写该接口。
        static 方法可以通过 接口.方法 直接调用,跟平时的静态方法一样。

 代码详解        

package com.test.service;


public interface DefaultService {


    //实现类必须重写该方法
    void get();

    //多接口中出现相同方法,必须重写
    default void get1() {
        System.out.println("this is default get1()");
    }


    //不需要重写
    static void get2() {
        System.out.println("this is static get2()");
    }


    interface default2 {
        default void get1() {
            System.out.println("this is default2  get1()");
        }


    }


    //实现类
    class test implements default2, DefaultService {


        @Override
        public void get() {
        }

        @Override
        public void get1() {
            default2.super.get1();
        }
    }


    public static void main(String[] args) {
        //接口调用
        new test().get1();
        //静态接口调用
        get2();
        //普通接口调用
        new test().get();
    }
}


版权声明:本文为weixin_40208374原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。