当前位置: 首页> 财经> 访谈 > 在线制作电子公章生成器_网络营销推广方式包括?_seo优化软件有哪些_宁德市蕉城区

在线制作电子公章生成器_网络营销推广方式包括?_seo优化软件有哪些_宁德市蕉城区

时间:2025/7/11 7:40:14来源:https://blog.csdn.net/2301_81225368/article/details/143097663 浏览次数:0次
在线制作电子公章生成器_网络营销推广方式包括?_seo优化软件有哪些_宁德市蕉城区

目录

  • yield关键字
  • var关键字
  • 空指针异常
  • 密封类
  • 接口中的私有方法
  • instanceof
  • 其他


yield关键字

yield关键字用于case的代码块中返回值。
正常switch语句

    public static void main(String[] args) {int result = 0;String str = "a";switch (str) {case "a" :result = 65;break;case "b" :result = 66;break;case "c" :result = 67;break;default:result = -1;}System.out.println(result);}

简化的switch语句

    public static void main(String[] args) {String str = "a";int result = switch (str) {case "a" -> 65;case "b" -> 66;case "c" -> 67;default -> -1;};System.out.println(result);}

yield关键字版本

    public static void main(String[] args) {String str = "a";int result = switch (str) {case "a" : yield 65;case "b" : yield 66;case "c" : yield 67;default  : yield -1;};System.out.println(result);}

var关键字

var关键字可以使代码更加简洁,有时类型名称长时,就可以使用var来代替。

    public static void main(String[] args) {Map<String, List<Map<Integer, String>>> complexMap = new HashMap<String,List<Map<Integer, String>>>();var complexMap2 = new HashMap<String, List<Map<Integer, String>>>();}

注意:

  1. 不能用var来声明字段。
    在这里插入图片描述
  2. 不能使用var来声明方法参数。
    在这里插入图片描述
  3. 不能使用var来声明方法返回类型。
    在这里插入图片描述
  4. var声明变量必须初始化,但是不能初始化为null。
    在这里插入图片描述

空指针异常

JDK8;报空指针异常不会解释原因。
在这里插入图片描述
JDK17;报空指针异常会解释原因。
在这里插入图片描述

密封类

在之前的学习中,我们了解到一个类不想被继承,需要在类之前加final关键字。
在JDK17中提供了⼀个新的关键字: sealed .密封类除了可以被该关键字修饰,并且在声明末尾用
permits 表⽰要开放给哪些类型。
例如,Class为密封类,然后使用 permits 关键字,把继承权限开放给了Student类。

sealed class Class permits Student{public String class_id;public Class (String class_id){this.class_id = class_id;}
}
//继承的类也要加上密封限制 non-sealed 表⽰不限制
non-sealed class Student extends Class{public String name;public String student_id;public Student(String class_id,String name, String student_id) {super(class_id);this.name = name;this.student_id = student_id;}
}

总结

  1. sealed修饰的类必须要有⼦类。
  2. 使⽤non-sealed关键字修饰。表⽰不限制,任何类都可以继承。
  3. 未被 permits 允许的类型,则没办法继承。
    在这里插入图片描述

接口中的私有方法

Java8,接口可以有默认方法。Java9之后,可以在接⼝内实现私有方法实现。

interface HelloService {public void sayHello();// 默认⽅法default void saySomething(){syaEngHello();sayHello();};// 私有⽅法private void syaEngHello(){System.out.println("Hello!");}
}

instanceof

if (obj instanceof String) {String str = (String) obj;
}

instancof语法⼀共做了三件事:

  1. 判断是否为String类型;
  2. 如果是,转成String类型;
  3. 创建⼀个名为str的临时变量;
    JDK16 优化后的效果。
if (obj instanceof String str) {// obj是否为String类型,如果是创建临时变量str}

其他

还有很多方法,但对我们初学者不常有,等以后自行探索。

关键字:在线制作电子公章生成器_网络营销推广方式包括?_seo优化软件有哪些_宁德市蕉城区

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: