final修飾的變量僅僅只是不可改變嘛???


  是不是每次面試被問到final修飾的有什么不同???

  final修飾的類不可以被繼承、final修飾的變量不可以被改變、final修飾的即表示最終的、、、、、

  

  那常量被聲明為final僅僅只是因為不可改變嗎???

  !#!@!&#%……!@&#!*@!()@()!、、、、然后想半天說不出來個啥了o(* ̄︶ ̄*)o

  

  畢竟這些東西寫的時候都是復制粘貼一把刷,別跟我說什么性能、原理、框架底層!老夫寫代碼就是復制粘貼一把刷,能爬就行!!!

  但是每每面試的時候就是最蛋疼的時候了,平時用不到的總是被問的最多的,所以就得不停的學習平時工作用的不多的東西了;

  

  既然要知道有什么不同的話,肯定得從開始一步一步看起,不然你只知道開始和結果,你也不知道為什么會這樣對不對,和我們平時改bug一樣的步驟;

  初始化常量的時候,如果只是 static修飾的話,常量只會賦值一個默認值;

  並不會開始就將你寫的值賦值給聲明的常量;

  

  但是,你如果添加了final修飾的話,初始化常量賦值的時候就是你給的那個值了!

  舉個例子:

    例如:    

    public static int value = 123;

    此時賦給value的值是0,不是123。

    

    

  靜態常量(static final修飾的)則會直接賦值。比如下面這個:

    public static final int value = 123;

    此時賦給value的值是123。

  

  

  


免責聲明!

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



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