Java : final 和 构造代码块

书上的笔记转移:【REVIEW】:

final 除了不被重写、不被修改、不被继承、值不可变等等。。。还有以下几个特性:

 

1.如果成员变量的final修饰未进行赋值,那么是可以在构造方法构造代码块进行赋值的,如果赋值成功,那么后面都不可能在进行赋值了。

 

---

2. 

静态代码块我知道,就是只执行一次的static{},那么构造代码块我才发现:

其实就是代码块,在类中的代码块。

顺序是:静态代码块 -> 构造代码块 -> 无参构造方法->有参构造方法

 

注意的是 构造代码块是多次执行,反正构造方法执行,那么构造代码块就会在它之前执行。

 

-- 

 

3.

如果final修饰引用数据类型对象,那么不可以更改地址【new】,可以更改里面的成员变量。

posted @ 2023-04-23 09:25  咸瑜  阅读(15)  评论(0编辑  收藏  举报