Java : final 和 构造代码块
书上的笔记转移:【REVIEW】:
final 除了不被重写、不被修改、不被继承、值不可变等等。。。还有以下几个特性:
1.如果成员变量的final修饰未进行赋值,那么是可以在构造方法和构造代码块进行赋值的,如果赋值成功,那么后面都不可能在进行赋值了。
---
2.
静态代码块我知道,就是只执行一次的static{},那么构造代码块我才发现:
其实就是代码块,在类中的代码块。
顺序是:静态代码块 -> 构造代码块 -> 无参构造方法->有参构造方法
注意的是 构造代码块是多次执行,反正构造方法执行,那么构造代码块就会在它之前执行。
--
3.
如果final修饰引用数据类型对象,那么不可以更改地址【new】,可以更改里面的成员变量。
本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/17345503.html