亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

finnal跟static有什么區別呢?

finnal可以代替static嗎


正在回答

4 回答

不可以替代。final可以修飾類,成員變量和方法,被修飾以后,類不可被繼承,變量必須要有初始值且不可被修改,方法不可被重寫。static一般不用來修飾類,除非是內部類;被static修飾的成員變量和方法都屬于類成員,可以通過類名直接調用。

17 回復 有任何疑惑可以回復我~
#1

習慣995 提問者

非常感謝!
2016-08-01 回復 有任何疑惑可以回復我~
#2

ziom 回復 習慣995 提問者

要謝就請再給我的回答點個贊,這樣我又會多得一經驗。
2016-08-01 回復 有任何疑惑可以回復我~
#3

學霸985

你這個不怎么對喔,如果另一個類是非靜態類,那么也不能用“類名.方法名”的方式調用?。?你說的被static修飾過的方法可以用“類名.方法名”的方式調用,那是因為你在main函數的主類里面調用,其他的不一定可以。
2019-02-17 回復 有任何疑惑可以回復我~
#4

學霸985 回復 學霸985

因為main函數的主類也是static修飾的,所以可以?。?,你創建個非靜態類來就不行了,,
2019-02-17 回復 有任何疑惑可以回復我~
查看1條回復

final:

final可以修飾:屬性,方法,類,局部變量(方法中的變量)

final修飾的屬性的初始化可以在編譯期,也可以在運行期,初始化后不能被改變。

final修飾的屬性跟具體對象有關,在運行期初始化的final屬性,不同對象可以有不同的值。

final修飾的屬性表明是一個常數(創建后不能被修改)。

final修飾的方法表示該方法在子類中不能被重寫,final修飾的類表示該類不能被繼承。

對于基本類型數據,final會將值變為一個常數(創建后不能被修改);但是對于對象句柄(亦可稱作引用或者指針),final會將句柄變為一個常數(進行聲明時,必須將句柄初始化到一個具體的對象。而且不能再將句柄指向另一個對象。但是,對象的本身是可以修改的。這一限制也適用于數組,數組也屬于對象,數組本身也是可以修改的。方法參數中的final句柄,意味著在該方法內部,我們不能改變參數句柄指向的實際東西,也就是說在方法內部不能給形參句柄再另外賦值)。

static:

static可以修飾:屬性,方法,代碼段,內部類(靜態內部類或嵌套內部類)

static修飾的屬性的初始化在編譯期(類加載的時候),初始化后能改變。

static修飾的屬性所有對象都只有一個值。

static修飾的屬性強調它們只有一個。

static修飾的屬性、方法、代碼段跟該類的具體對象無關,不創建對象也能調用static修飾的屬性、方法等

static和“this、super”勢不兩立,static跟具體對象無關,而this、super正好跟具體對象有關。

static不可以修飾局部變量。

來源:https://www.cnblogs.com/EasonJim/p/7841990.html

1 回復 有任何疑惑可以回復我~

final和final static沒有必然的聯系,通俗的簡單說下final和static。
例如 有一個Class1的類,有一個叫class2的類,Class1中有一個aaa()方法, 如果class2繼承了class1,那么就可以在class2中覆寫class1中的aaa方法,如果你class1中的aaa()方法加了final修飾,那class2里繼承了class1以后,也不可以覆寫class2了。?? 同樣的,如果一個類用final修飾,那么它不可以被別得類繼承。

再說static。? 有一個類Class1,里面有一個方法aaa(). 我想在class2中調用class1里的aaa()方法,那么我就得Class1 a = new Class1(); a.aaa();? 如果你這個方法用static修飾了, 你就可以直接Class1.aaa()? 就是可以直接用類名.方法。

5 回復 有任何疑惑可以回復我~
#1

學霸985

你這個也不怎么對,參考我回復被采納那位同學的回答,,
2019-02-17 回復 有任何疑惑可以回復我~

不可以的,static是說明屬性,方法等是類的,即所有由該類實例化的對象都共享同一份。而final則是表示最終的意思,即變量會變成常量,方法不能被重寫,類不能有子類等

2 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531142    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

finnal跟static有什么區別呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號