Java中String為什么要設置成final


1.不可改變---執行效率高

2.因為String這個對象基本是被所有的類對象都會使用的到了,如果可以被復寫,就會很亂套,比如map的key ,如果是一個string為key的話,String如果可以改變的話,你想想后果

3.執行效率可以這么解釋,面向對象有一個多態的性質,如果可以改變,就可以被復寫,子類如果復寫了某個方法,虛函數表就被用上了;如果是final型的,jvm就直接去用了,根本不用去虛函數表里面找

           ----------只要聲明成final ,JVM才不用對相關方法在虛函數表中查詢,而直接定位到string類的相關方法上,提高了執行效率。基礎類以保證執行效率為第一要素。

4.從設計思想來解釋這個  為什么要弄成final類型的

  語言本身就是一種設計。任何設計思想都是會遵守一些既定的規則,這樣才能體現 一致性。無論是人類語言,還是機器語言,都有它們的約束規則。
     Long, Double, Integer 之類的全都是final的  程序的基石是不可被改變的
5.也可以從安全的角度來解釋定義成final,
6.String被廣泛使用,避免多態的影響,或者他提供的函數已經非常的豐富了,你再去擴展有點多余


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM