java8_9接口新特性

前言

jdk8和9都对接口进行了新的更新,还是不错的

Java8开始,

1、接口中,允许定义default默认方法(可以有多个)

public private (public可以省略,static不可以省略)

2、接口中允许定义静态风阀 ,静态方法的修饰符

public static (public可以省略,static不可以省略)

Java 9开始,支持再接口中定义私有方法

提供给接口中使用) 提供给其他有公共部分进行私有化操作
private void method 不可省略

接口静态方法在java9中的使用,比如利用Map.of等方法
private static void method 都不可省略

1、接口

package com.hlj.java8.Interface.Demo03InterfaceDefaultPack;

/**
 * Java8开始,
 * 1、接口中,允许定义default默认方法 public default (public 可以省略,default不可以省略)
 * 2、接口中允许定义静态风阀 ,静态方法的修饰符:public static (public可以省略,static不可以省略)
 *
 * Java 9开始,支持再接口中定义私有方法
 * 接口静态方法在java9中的使用,比如利用Map.of等方法
 * private  void method (提供给接口中使用) 提供给其他有公共部分进行私有化操作
 * private static void  method 都不可省略
 */
public interface MyInterface {

    void method1();

    void method2();


    /**
     * 1、默认的方法修饰符,public default (public 可以省略,default不可以省略)
     *
     * 默认方法可以有方法体实现 :具体实现
     * 作用:
     * 1、新加一个功能,不会影响其他已经使用这个接口的其他功能。接口升级的时候,用到,同事子类也可以实现覆盖重写
     */
    public default  void methodNew(){
        System.out.println("interface  default 方法");
    }


    /**
     * 2、接口中允许定义静态风阀 ,静态方法的修饰符:public static (public可以省略,static不可以省略)
     */
    public static void methodStatic(){
        System.out.println("接口中的静态方法");
    }




}

1、测试

package com.hlj.java8.Interface;

import com.hlj.java8.Interface.Demo03InterfaceDefaultPack.MyInterface;
import com.hlj.java8.Interface.Demo03InterfaceDefaultPack.impl.MyInterfaceImpl;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Desc:
 * @Author HealerJean
 * @Date 2018/9/14  上午11:48.
 */
public class Demo01 {

    @Test
    public void demo(){

        MyInterface myInterface = new MyInterfaceImpl() ;

        /**
         *  我们发现这个里面的默认方法,可以帮我们继承下去,我们也可以对这个方法进行覆盖重写
         */
        myInterface.methodNew();

        MyInterface.methodStatic();


    }
}

代码下载





如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,添加博主微信哦, 请下方留言吧。可与博主自由讨论哦

支付包 微信 微信公众号
支付宝 微信 微信公众号
posted @ 2018-09-14 20:29  HealerJean  阅读(126)  评论(0编辑  收藏  举报