20180911-final關鍵字

原文鏈接
final用來修飾變量,方法,類。

  • final variable:創(chuàng)建常量;
  • final methods:阻止方法被重寫。
  • final class:阻止繼承。

Final variables

  • 值不能被修改,如果是引用類型的話就代表不能重新指向另一個對象,但是該對象內部的值可以改變。必須被初始化(只能初始化一次),可以在多個位置被初始化。
public class FinalExample {
    final int A = 5;//直接初始化
    final int B;
    final int C;
    static final double PI = 3.1415;//直接初始化
    static final double D;
    {
        B = 1;//實例構造代碼塊內的初始化
    }
    static {
      //C = 1;non-static variable C cannot be referenced from a static context
        D = 1.0;//靜態(tài)變量可以在靜態(tài)代碼塊中初始化
    }

    public FinalExample() {
        C = 1;//在構造函數(shù)中初始化
    }
}

non-transitivity非傳遞性:對一個引用變量final保證了這個引用是final的,如果這個引用指向了一個數(shù)組,數(shù)組的成員的值還是可以變化。arrays are objects in java

Final classes

final class不能被繼承。作用:

  • prevent inheritance阻止繼承:例如所有Wrapper Class比如IntegerFloat。
  • create an immutable class創(chuàng)建不可變的類:比如String

Final methods

不能被override。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學習記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,144評論 2 9
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,734評論 18 399
  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,618評論 0 6
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,265評論 0 62
  • 突然想寫一篇關于父親的文字。本愿而已。 我的語文成績一直都不錯,從小學三年開始寫作文開始,我覺得自己是可以駕馭一...
    夢九九閱讀 519評論 2 3

友情鏈接更多精彩內容