当前位置: 首页 > news >正文

做枸杞的网站建站平台

做枸杞的网站,建站平台,百度小程序api,建网站团队1、引言 Spring Boot 3.0 开始不再支持 JDK 8,转而支持 JDK 17。 这篇博客我会列举较常用的新语法特性。 2、新增语法特征 2.1 yield关键字 从Java13开始引⼊yield关键字,yield关键字应用于switch语句中,我们可以使用yield来简化代码。 正常的…

1、引言

Spring Boot 3.0 开始不再支持 JDK 8,转而支持 JDK 17。
这篇博客我会列举较常用的新语法特性。

2、新增语法特征

2.1 yield关键字

从Java13开始引⼊yield关键字,yield关键字应用于switch语句中,我们可以使用yield来简化代码。

正常的switch语句代码:

public static void main(String[] args) {int value = 0;String flg = "three";switch (flg) {case "one":value = 1;break;case "two":value = 2;break;case "three":value = 3;break;default:value = -1;break;}System.out.println(value);}

使用 -> 来简化代码:

public static void main(String[] args) {String flg = "three";int value = switch (flg) {//使用 -> 来简化代码case "one" -> 1;case "two" -> 2;case "three" -> 3;default -> -1;};//注意这里要加;System.out.println(value);}

也可以使用yield来简化代码:

public static void main(String[] args) {String flg = "three";int value = switch (flg) {//使用yield关键字来简化代码case "one" : yield 1;case "two" : yield 2;case "three" : yield 3;default : yield -1;};//注意这里要加;System.out.println(value);}

2.2 var关键字

从Java10开始引⼊var关键字,var关键字的出现也是为了简化代码。

代码示例:

public static void main(String[] args) {var name = "dings";//Java会自动推导出name是String类型var age = 18;//Java会自动推导出age是int类型System.out.println(name+" "+age);}

编译器会通过所赋的值来自动推导出变量的类型。

需要注意一下几点:

1.var不能用来声明字段(成员变量)

2.var不能用来声明方法的参数

3.var不能用来声明方法的返回值类型

4.var声明的变量必须初始化,且不能初始化为null

2.3 sealed关键字(密封类)

在SE的学习中,我们已经知道,当类被final修饰时,这个类就变成了密封类,被final修饰的密封类不能再被任何类所继承。

在JDK17中,引入了sealed关键字,当类被sealed修饰时,也称作密封类,但是可以缩小密封的范围,在类的末尾通过permits来将这个密封类的继承权限开放给一些类,使得这个密封类可以被某些特定的类所继承。

sealed class A permits B,C,D {//将密封类的继承权限开放给B,C,D//sealed修饰的类必须要有子类//且这些子类必须被final修饰或被sealed修饰或者被non-sealed修饰
}
non-sealed class B extends A {//子类可以被non-sealed修饰,表示 不限制}
final class C extends A {//子类可以被final修饰}
sealed class D extends A {//子类也可以被sealed修饰,这个子类也成为了密封类,这个子类也必须再有子类}
non-sealed class E extends D {//继承被sealed修饰的D}

重点总结:

1.被sealed修饰的密封类通过permits来将继承权限开放给一些类(可以开放给多个类),如果没有写permits,那这个密封类就可以被任何类继承。

2.被sealed修饰的密封类必须要有子类。

3.这些子类必须被final修饰或被sealed修饰或者被non-sealed修饰。

4.被non-sealed修饰,表示不限制,可以被任何类继承,也可以不继承。

5.如果写了permits,那没有被permits允许的类,不能继承于这个密封类。

6.sealed和final的区别就是,sealed修饰的密封类必须要有子类。而final修饰的密封类必须没有子类。

2.4 接口中的私有方法

Java 8, 接口可以有默认方法。Java9之后,可以在接口内实现私有方法的实现,这个私有方法不
用被实现接口的类重写。(私有方法主要用于默认方法的使用)
代码示例:
interface A1 {void func1();default void func2() {//接口的默认方法System.out.println(1);func3();};//(课件这里加了; 我试了一下,加不加都可以)private void func3() {//接口的私有方法System.out.println(2);}
}
public class Demo implements A1{@Overridepublic void func1() {}public static void main(String[] args) {}
}

2.5 instanceof关键字

在SE学习向下转型的时候,我们就用到了instanceof关键字,是这样使用的:

class Animal {public void eat() {}
}
class Dog extends Animal {@Overridepublic void eat() {System.out.println("狗在吃饭");}public void swim() {System.out.println("狗在游泳");}
}
public class Test2 {public static void main(String[] args) {Animal animal = new Dog();if(animal instanceof Dog) {//判断animal引用的是否为Dog类Dog dog = (Dog)animal;dog.swim();}}
}

以前学习时,我们使用instanceof用来做三件事:

1.判断animal引用的是否为Dog类型的数据

2.如果是将animal为强转为Dog类型

3.创建一个Dog类的临时变量,将animal赋值给这个临时变量

在JDK16中,对instanceof进行了优化,使得代码更加的简洁:

public static void main(String[] args) {Animal animal = new Dog();if(animal instanceof Dog dog) {//判断animal引用的是否为Dog类,如果是创建临时变量dogdog.swim();}}

2.6 其他

还有很多现阶段不常用的,大家感兴趣的话,可以去探索!

OK~本次博客到这里就结束了,

感谢大家的阅读~欢迎大家在评论区交流问题~

如果博客出现错误可以提在评论区~

创作不易,请大家多多支持~

http://www.hengruixuexiao.com/news/20124.html

相关文章:

  • 网站顶部固定怎么做自动收录
  • wordpress chmod网站优化排名易下拉排名
  • 禁止指定ip访问网站百度网盘app下载安装
  • 做网站卖大闸蟹博客网站注册
  • 海口 做网站网络推广营销方法
  • 营销型企业网站诊断软文广告是什么意思
  • 广西奶茶加盟网站建设整站优化深圳
  • 网站制作培训课程亚马逊跨境电商开店流程及费用
  • 视频网站建设流程海淀区seo多少钱
  • 网络优化网络维护网络建站seo怎么做优化方案
  • 北京建设委员会网站首都之窗软件推广方案经典范文
  • 深圳专业网站制作费用北京搜索引擎优化seo专员
  • 网站设计 注意代运营服务
  • 可做外链的网站媒体平台推广
  • 用php做的网站必备那些文件抖音推广公司
  • 做网站的难题怎样在平台上发布信息推广
  • 广州网站建设出名 乐云践新搜索引擎优化seo多少钱
  • 桂林北站停车场收费标准seo网络推广外包公司
  • 网站问答平台推广方案接app推广接单平台
  • 2012服务器如何做网站新网站如何快速收录
  • 纹身网站建设案例个人接外包的网站
  • 电器网站制作价格站长网站推广
  • 深圳网站制作收费商丘网站seo
  • 建个淘宝那样的网站需要多少钱企业网络营销成功案例
  • 做书的网站有哪些内容软文写作是什么
  • 京东商城网站怎么做的自适应网站服务器软件
  • 手机app设计网站建设百度资源搜索资源平台
  • 小兽 wordpress深圳seo优化排名
  • 百度网站是百度公司做的吗网站seo视频狼雨seo教程
  • 做ppt赚钱的网站百度手机端推广