關於JAVA中的final探索

    一提到java中的final就想到常量、不可變,當博主看到《Thinking in Java》中對final的講解後有些領悟,現記錄一下:java

    1)final數據對象

     一個永不改變的編譯時常量,一個在運行時被初始化的值,而且不可改變,一個既是static又是fianl的域只佔據一段不能改變的存儲空間。注意對於對象的引用,final是指這個引用不可改變,而非改對象不可改變。繼承

     2)空白final編譯

    所謂空白final是指被聲明爲final但又沒有初始值得域。java是容許聲明的,可是該final在使用前必須被初始化。引用

    3)final參數方法

    Java容許在參數列表找那個聲明參數爲final形式,這也意味着你沒法改變參數所引用的對象數據

    4)final方法static

    使用final方法是把方法鎖定,防止任何繼承類修改它,即該方法不會被覆蓋。參數

    5)final和private

    類中全部的private方法都隱式的指定爲final的(private方法沒法被覆蓋,因此private 添加final是多餘的 )

    6)final類

    final類禁止繼承,因此final類中全部的方法都隱式的指定爲fianl的(沒法覆蓋它)。

相關文章
相關標籤/搜索