final,static,const在使用上有什么區別?


網上找到的,保留了

JAVA中——final、static

final:
final修飾類:該類不可繼承
final修飾方法:該方法不能被子類覆蓋(但它不能修飾構造函數)
final修飾字段屬性:屬性值第一次初始化后不能被修改
使用final可以提高程序執行的效率,將一個方法設成final后編譯器就可以把對那個方法的所有調用都置入“嵌入”調用里。

static:
static修飾成員函數則該函數不能使用this對象
static不能修飾構造函數、函數參數、局部成員變量
static修飾成員字段則當類被虛擬機加載時按照聲明先后順序對static成員字段進行初始化。
static修飾語句塊:當類被虛擬機加載時按照聲明先后順序初始化static成員字段和static語句塊
static所修飾的方法和字段只屬於類,所有對象共享,java不能直接定義全局變量,是通過static來實現的。

java中沒有const,不能直接定義常量,是通過static final組合來實現的。

C#中——readonly、const
readonly、const是c#中的兩種常量
readonly:為運行時常量,程序運行時進行賦值,賦值完成后便無法更改,也稱為只讀變量。
const:為編譯時常量,程序編譯時將對常量值進行解析,並將所有常量引用替換為相應值。


免責聲明!

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



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