美文网首页
2020-03-11 常用关键字

2020-03-11 常用关键字

作者: BJ你若盛开 | 来源:发表于2020-03-14 09:31 被阅读0次

    7.1 如何证明 static 静态变量和类无关?

    答:从三个方面就可以看出静态变量和类无关。

    我们不需要初始化类就可直接使用静态变量;

    我们在类中写个 main 方法运行,即便不写初始化类的代码,静态变量都会自动初始化;

    静态变量只会初始化一次,初始化完成之后,不管我再 new 多少个类出来,静态变量都不会再初始化了。

    不仅仅是静态变量,静态方法块也和类无关。

    7.2 常常看见变量和方法被 static 和 final 两个关键字修饰,为什么这么做?

    答:这么做有两个目的:

    变量和方法于类无关,可以直接使用,使用比较方便;

    强调变量内存地址不可变,方法不可继承覆写,强调了方法内部的稳定性。

    7.3 catch 中发生了未知异常,finally 还会执行么?

    答:会的,catch 发生了异常,finally 还会执行的,并且是 finally 执行完成之后,才会抛出 catch 中的异常。

    不过 catch 会吃掉 try 中抛出的异常,为了避免这种情况,在一些可以预见 catch 中会发生异常的地方,先把 try 抛出的异常打印出来,这样从日志中就可以看到完整的异常了。

    7.4 volatile 关键字的作用和原理

    答:这个上文说的比较清楚,可以参考上文。

    总结

    Java 的关键字属于比较基础的内容,我们需要清晰明确其含义,才能在后续源码阅读和工作中碰到这些关键字时了然于心,才能明白为什么会在这里使用这样的关键字。比如 String 源码是如何使用 final 关键字达到起不变性的,比如 Java 8 集合中 Map 是如何利用 default 关键字新增各种方法的,这些我们在后续内容都会提到。

    相关文章

      网友评论

          本文标题:2020-03-11 常用关键字

          本文链接:https://www.haomeiwen.com/subject/qpcmshtx.html