1.yield关键字:
-
2.var关键字:
-
3.密封类:
-
⼀般应⽤在类和接⼝中,对接⼝和类的实现和继承进⾏约束。主要使⽤的关键字是 final 。当这个类被 final 修饰了,被修饰的类就变成完全封闭的状态了,所有类都没办法继承。
-
4.密封类关键字:
-
sealed密封类除了可以被该关键字修饰,并且在声明末尾⽤permits 表⽰要开放给哪些类型:
- 这里的Animal用sealed修饰之后必须要有子类,继承这个密封类的子类必须加上sealed关键字或者non-sealed关键字,才能继承用sealed修饰的父类。(这里的non-sealed是指所有类都可以继承这个类):
- 但是如果这里的Dog也是sealed修饰的话,那么Dog也必须有子类来继承!
-
5.接口中的私有方法:
- Java8,接可以有默认⽅法。Java9之后,可以在接⼝内实现私有⽅法实现。
-
6.instanceof:
- 通过这个代码我们知道instanceof判断了obj是否为String类型,如果是就返回true 进入语句,向下转型。并且这里面创建了一个str的临时变量。但是在JDK16中,使⽤模式匹配思想改进了instanceof⽤法,可以做到以下优化效果:
- 这就是优化之后的代码,和第一张图实现的功能都是一致的。