java final 变量只读_java final的使用总结
final 變量:是只讀的;
final 方法:是不能繼承或者重寫的。
final 引用:引用不能修改,但是對象本身的屬性可以修改;
final class:不可繼承;
final MyObject o = new MyObject();
o.setValue("foo"); // Works just fine
o = new MyObject(); // Doesn't work.
虛擬機并不會知道你的變量是否是final的,所以final與內存泄露無關。
final不會讓代碼速度更快
1.final類
當一個類聲明為final類,也就證明這個類是不能夠被繼承的,即禁止繼承,因此final類的成員方法是沒有機會被覆蓋的,這個final類的功能是完整的。在Java中有很多類是final的,如String、Interger以及其他包裝類。
final類的好處:不可變類有很多的好處,它們的對象是只讀的,可以在多線程環境下安全的共享,不用額外的開銷。
2.final方法
如果一個類不允許其子類覆蓋某個方法,即不能被重寫,則可以把這個方法聲明為final方法。(類中所有的private方法都隱式的指定為final)。
使用final方法的原因:
方法鎖定,防止任何繼承類修改它的含義,確保在繼承中使方法行為保持不變且不被覆蓋;
效率,將一個方法指明為final,就是同意編譯器將針對該方法的所有調用都轉化為內嵌調用(相當于在編譯的時候已經靜態綁定,不需要在運行時再動態綁定)。
3.final變量
程序中有些數據的恒定不變是很有必要的,比如:
一個永不改變的編譯時常量;
一個在運行時被初始化的值,而在程序的后面不希望它被改變。
這種類型的變量只能被賦值一次,一旦被賦值之后,就不能夠再更改了。
有幾點要注意的:
一個既是static又是final的域只占據一段不能改變的存儲空間,一般用大寫來表示;
final使數值恒定不變,而當用于對象時,final使引用恒定不變(一旦引用指向一個對象,就無法再把它改為指向另一個對象);
final變量的好處:
提高性能,JVM和Java應用程序都會緩存final變量;
final變量可以在安全的在多線程環境下進行共享,而不需要額外的開銷。
總結
以上是生活随笔為你收集整理的java final 变量只读_java final的使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql的存储过程和索引区别_mysq
- 下一篇: Java程序员周末时间搞锭银行信息管理系