JAVA学习有感--final修饰符的理解
来源:互联网 发布:两个系统数据库对接 编辑:程序博客网 时间:2024/06/06 05:42
温故而知新,可以为师矣。
初中的时候对这句话的理解,就是课文最后的那一句“并背诵全文”。
现在想想,真的很有道理的一句话。当初大2学JAVA的时候很浮躁,对final理解的也不深,最近用到了,也查了一些资料,又从中收获了很多原来不知道得东西。
final成员变量
final成员变量一旦被赋予初始值之后就不可更改。final成员变量不会初始化,需要程序员自己进行初始化。我们可以在初始化块中或构造函数中对final成员变量进行初始化,不可以在普通方法中对final成员变量进行初始化。
普通的成员变量,没有指定初始值的时候,会被系统赋值,但是final成员不会被赋值。
final局部变量
和final成员变量一样,只可以被初始化赋值一次,赋值后不可更改。
final引用变量
final只能保证对于引用变量的地址保持不变,对于引用变量内部的成员变量,可以进行修改。也就是final只指向一个引用变量的地址,这个不变,其他的没关系。
final方法
通过使用final修饰方法,使其不可以被子类重写。它不能被重写,但是可以被重载。
final类
不可以被继承的类,继承final类会引起编译错误。
不可变类
不可变类(immutable)指的是该类创建完实例后,该实例的成员变量不会改变。JAVA的8个包装类和String都是不可变类。
我们使用private final 来修饰不可变类的成员变量。提供带参数的构造函数为不可变量设置初始值。不提供set方法。
有一点需要注意,当我们的成员变量中含有final引用变量的时候,我们必须保护好初始化这个引用变量的过程,使外界修改引用变量的成员变量的值,我们的引用变量也不会改变。否则该不可变类就不是一个不可变类。听起来很麻烦,因为现在没用到,如果找到好的例子,会第一时间给大家解读。
- JAVA学习有感--final修饰符的理解
- Java中final修饰符的初始化安全性的理解
- 对java final修饰符的一些理解
- java的final修饰符
- Java的final修饰符
- Java学习笔记:final修饰符
- java学习笔记<八>final修饰符
- Java Final修饰符
- Java final 修饰符
- Java final修饰符
- java修饰符:final
- java final 修饰符
- Java-final修饰符
- java修饰符final
- Java final 修饰符
- java--final修饰符
- Java final修饰符
- java final修饰符的用途
- [iPhone开发 ]打印日志公共类
- CSS深入理解的学习笔记
- 关于prefereceActivity的addPreferencesFromResource方法在3.0过期问题
- 什么是RSA加密算法?RSA加解密算法破解-Alasend
- ”危险“的restrict与GCC的编译优化
- JAVA学习有感--final修饰符的理解
- _vsnprintf()的一个问题
- SQL关键字之case when
- 运放自激震荡的大杂烩总结
- 容器通过数组初始化
- Codeforces Round #154 (Div. 2)
- Excel 写保护方法
- 如何解决:Android中 Error generating final archive: Debug Certificate expired on 10/09/18 16:30 的错误
- LeetCode : Best Time to Buy and Sell Stock II