Java9的新特性解析

Java9进一步扩展了接口的功能,允许在接口中定义私有方法供默认方法使用。此外,匿名内部类也支持了钻石运算符,简化了创建过程。增强的try-with-resources可以引用外部资源,使得多资源管理更加整洁。这些改进提升了代码的可读性和效率。
摘要由CSDN通过智能技术生成

Java9(2017年9月)

1、接口里面可以添加私有的接口:Java8对接口增加了默认方法的支持,在Java9中对该功能又来了一次升级,现在可以在接口里面定义私有方法,然后在默认方法里面调用接口的私有方法。


public interface TestInterface {
    default void wrapMethod(){
        innerMethod();
    }
    private void innerMethod(){
        System.out.println("");
    }
}

2、匿名内部类也支持钻石运算符:Java5就引入了泛型,到了Java7开始支持钻石运算符<>


List<Integer> numbers = new ArrayList<>();

咋Java9中对匿名内部类也做了支持


List<Integer> numbers = new ArrayList<>() {
    ...
}

3、增强了try-with-resources:Java7中增加了try-with-resources的支持,可以自动关闭资源:

try (BufferedReader bufferReader = new BufferedReader(...)) {
    return bufferReader.readLine();
}

但需要声明多个资源变量时,代码看着就有点恶心了,需要在 try 中写多个变量的创建过程:


try (BufferedReader bufferReader0 = new BufferedReader(...);
    BufferedReader bufferReader1 = new BufferedReader(...)) {
    return bufferReader0.readLine();
}

Java9中对这个功能进行了增强,可以引用try代码块之外的变量来自动关闭:


BufferedReader bufferReader0 = new BufferedReader(...);
BufferedReader bufferReader1 = new BufferedReader(...);
try (bufferReader0; bufferReader1) {
    System.out.println(br1.readLine() + br2.readLine());
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮皮虾骑着皮皮狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值