java se7 变化_java11教程--Java SE 9中的小语言更改

更多简明的资源尝试声明

如果您已经拥有资源作为final有效final变量,则可以在try-with-resources声明中使用该变量而无需声明新变量。一个“有效的最终”变量是其值在初始化后,从来没有改变过。

例如,您声明了以下两个资源:

//最终资源

最终资源resource1 = new Resource(“ resource1”);

//有效的最终资源

资源resource2 =新Resource(“ resource2”);

在Java SE 7或8中,您将声明新变量,如下所示:

试试(资源r1 = resource1;

资源r2 = resource2){

...

}

在Java SE 9中,您无需声明r1和r2:

// Java SE 9中新的和改进的try-with-resources语句

尝试(resource1;

资源2){

...

}

还有更完整的描述在try-与资源语句中的Java教程(Java SE的8和更早版本)。

Java SE 9中的小语言更改

Java SE 9中有一些小的语言更改。

私有实例方法上允许@SafeVarargs批注。

@SafeVarargs批注只能应用于无法覆盖的方法。这些包括静态方法,最终实例方法,以及Java SE 9中的新增功能,私有实例方法。

您可以将Diamond语法与匿名内部类结合使用。

可以在Java程序中编写的类型(例如int或String)称为可分配类型。无法在Java程序中编写的编译器内部类型称为不可指定类型。

菱形运算符使用推断的结果可能会出现不可表示的类型。因为将带钻石的匿名类型与匿名类构造函数一起使用的推断类型可能超出类文件中的签名属性所支持的类型集,所以Java SE 7中不允许将带钻石的匿名类型与匿名类一起使用。

在Java SE 9中,只要可以推断出推断的类型,就可以在创建匿名内部类时使用菱形运算符。

下划线字符不是合法名称。

如果使用下划线字符(“ _”)标识符,则无法再编译源代码。

支持专用接口方法。

支持专用接口方法。这种支持允许接口的非抽象方法在它们之间共享代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值