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();
}
}
代码下载
如果满意,请打赏博主任意金额,感兴趣的在微信转账的时候,添加博主微信哦, 请下方留言吧。可与博主自由讨论哦
支付包 | 微信 | 微信公众号 |
---|---|---|