final关键字的这8个小细节
印结果可以看到:引用数据类型变量 student 的 age 属性修改成 100,是可以修改成功的。 结论:
细节四、final 修饰局部变量的场景 fianl 局部变量由程序员进行显示的初始化,如果 final 局部变量进行初始化之后就不能再次进行更改。 如果 final 变量未进行初始化,可以进行赋值,并且只能进行一次赋值,一旦赋值之后再次赋值就会出错。上代码所示,可以看到会出现 cannot override ,overridden method is final 的编译错误提示 细节六、final 修饰类的场景 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用 final 进行修饰。 final 类中的成员变量可以根据需要设为 final,但是要注意 final 类中的所有成员方法都会被隐式地指定为 final 方法。 细节七、写 final 域的重排序规则,你知道吗? 这个规则是指禁止对 final 域的写重排序到构造函数之外,这个规则的实现主要包含了两个方面:
给举个例子,要不太抽象了,先看一段代码 (编辑:济南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |