final關鍵字和static關鍵字的簡單理解


final關鍵字:

1、final修飾的類不可以被繼承;final修飾的方法不可以被重寫;final修飾的變量不可以被修改;

好處:1、為方法上鎖,當定義方法不想被子類修改時可以采取此辦法;

   2、提高執行效率,編譯器加載內嵌機制;

 

static關鍵字:

1、static方法:

  1、只能調用其他的static方法

  2、只能使用static變量

  3、不能以任何方式引用this或者super關鍵字

(因為靜態方法在編譯時,最先被加載,所以有他的優勢 以及 一定的局限性)

static常常在應用開發中提供一些實用工具類

 

static 靜態也就是全局的意思,其不與具體對象相關直接由類名直接調用

一般定義static方法時,都用private修飾,其他類不可以修改和直接實用;

static變量

按照是否靜態的對類成員變量進行分類可分兩種:一種是被static修飾的變量,叫靜態變量或類變量;另一種是沒有被static修飾的變量,叫實例變量。兩者的區別是:對於靜態變量在內存中只有一個拷貝(節省內存),JVM只為靜態分配一次內存,在加載類的過程中完成靜態變量的內存分配,可用類名直接訪問(方便),當然也可以通過對象來訪問(但是這是不推薦的)。對於實例變量,沒創建一個實例,就會為實例變量分配一次內存,實例變量可以在內存中有多個拷貝,互不影響(靈活)。

static方法

靜態方法可以直接通過類名調用,任何的實例也都可以調用,因此靜態方法中不能用this和super關鍵字,不能直接訪問所屬類的實例變量和實例方法 (就是不帶static的成員變量和成員成員方法),只能訪問所屬類的靜態成員變量和成員方法。因為實例成員與特定的對關聯!這個需要去理解,想明白其中的道理,不是記憶!!!

因為static方法獨立於任何實例,因此static方法必須被實現,而不能是抽象的abstract。

當final和static同時使用時,相當於全局常量;

 


免責聲明!

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



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