Java 裡的static是幹嘛的?

時間 2021-05-07 01:12:03

1樓:陳橙

static 修飾的成員變數和成員方法在記憶體中只有乙份,這個類的所有例項共享這乙個,其中乙個物件修改了,其他的物件拿到的值也會相應的修改。

static 修飾的成員變數和成員方法可以在不建立例項的情況下使用 className.name

非static的方法只能通過建立例項,通過例項進行訪問,在static修飾的方法內部呼叫非static修飾的方法,相當於想通過不建立例項就像呼叫非static的方法(不可以)

2樓:賀小五

贊同 @Feego 的回答。

static 就是用來宣告同一類物件的共享資源。

非 static 修飾的,是物件例項獨享的資源。

如果不理解什麼是類什麼是物件例項。

你可以這麼理解:

狗是乙個類,那麼狗都有頭,爪子,尾巴等,可以看做是每個狗都會有, 可以看做是 static 修飾的共享資源,這時候沒有到具體的什麼狗,這是乙個模板,可以用來建立具體的狗。

如果你建立乙個狗的例項,這個狗的例項可以是柯基,哈士奇,薩摩耶。。。等等具體的狗。他們都屬於類的例項,每個狗不同的叫聲,毛色,體重就是每個類例項獨享的資源,也就是非 static 修飾的例項獨享資源

3樓:

比如學校要開運動會,有30個運動專案,有600的運動員參加,那麼你比賽規則怎麼通知大家?來乙個運動員告訴一下?肯定不能這樣,那就在比賽開始之前搞乙個比賽規則的告示,每個運動員直接去看告示就好了。

然後,比賽規則的告示裡面,有真的犯規處理的方法,但是在比賽之前,你怎麼使用犯規處理方法去處理犯規的運動員?人家還沒比賽呢,肯定沒犯規啊。只用當真正比賽的過程中,才能讓犯規的運動員去接收犯規處理方法的處理。

綜上所述,static相當於乙份靜態資訊,static是在類載入的時候就執行的,還沒有產生例項,不能呼叫非static的方法。

4樓:賈賈賈

static是類的變數、方法,非static是物件的成員變數或者方法。

類是什麼含義呢?簡單理解,類就是乙個模版,規定乙個例項是什麼樣的,有哪些變數、方法。static表明這個屬性是類級別的,例項間共享的,先於例項存在的

物件是根據類(模版)的資訊製作乙個具體的實物。非static變數方法是屬於每個例項自己的,例項間互不干擾。

如果還是抽象,那你可以把類看成是汽車圖紙,把物件看成是乙個按照圖紙設計出來的汽車。

圖紙規定了汽車的構造應該是什麼樣的,有車燈、有座椅、有發動機等等,能剎車、能加速、能勻速前進。圖紙有版本號,每個按照這個圖紙生產的汽車圖紙版本號是一致的。

而汽車就按照圖紙的設計做出了乙個真正的實物,叫物件。其中車燈等屬性、剎車等動作是圖紙定義的,但卻是每個汽車獨有的,汽車1和汽車2的車燈不是乙個車燈。

基於以上關係可以看出,乙個汽車是根據圖紙設計出來的,那乙個汽車能夠關聯到設計出它來的圖紙,就能獲取並操作圖紙的資訊。比如檢視汽車圖紙的版本號。

但乙個圖紙卻不能操作汽車,為啥,汽車圖紙設計出來的時候,汽車還沒有呢,圖紙怎麼操作汽車?汽車成千上萬,操作哪輛汽車?比如汽車圖紙能獲取汽車的行車里程麼?

那請問,到底有沒有這麼一輛汽車,如果有,到底要獲取哪輛汽車的里程,是不是有邏輯上的矛盾呢?

package

com.mytest.springboot

;public

class

Main2

}class

Car//汽車的里程資訊,每個汽車獨有的,屬於汽車這乙個實物自己的

//類出現之前都沒有例項,所以獲取不到;

// 每個汽車有自己的里程,不屬於類全域性變數,所以獲取全域性的里程資訊是不合邏輯的

public

Long

getMiles

()public

void

setMiles

(Long

miles)}

5樓:戳一下 汪一聲

static靜態變數宣告符。在宣告它的程式塊,子程式塊或函式內部有效,值保持,在整個程式期間分配儲存器空間,編譯器預設值0。

是C++中很常用的修飾符,它被用來控制變數的儲存方式和可見性

6樓:Lee

static是靜態修飾符,用來修飾成員變數和方法的,被statice修飾過的成員變數和方法可以直接通過類名直接呼叫,不需要建立物件

7樓:學無止境

static方法一般稱作靜態方法,由於靜態方法不依賴於任何物件就可以進行訪問,因此對於靜態方法來說,是沒有this的,因為它不依附於任何物件,既然都沒有物件,就談不上this了。並且由於這個特性,在靜態方法中不能訪問類的非靜態成員變數和非靜態成員方法,因為非靜態成員方法/變數都是必須依賴具體的物件才能夠被呼叫。

8樓:hzldds2020

static 是靜態關鍵字,表示乙個常量或者方法是靜態的。靜態的即是全域性的,會出現在JVM的常量池中,屬於棧記憶體,全域性共享。

FSX裡的FMC能幹嘛?

何先生 這是飛行管理計算機簡稱。操作面板成為MCDU.飛行員的飛行準備裡面有乙個很重要的工作就是設定這個,PMDG777操作手冊裡面寫的非常詳細。飛行員只要向飛行管理計算機輸入飛機的起飛機場,目的地機場並規定飛行航路,亦即要在起飛和目的地機場之間起碼規定乙個航路點,FMCS就能根據IRS和無線電導航...

日式拉麵裡貼在碗邊的紫菜是幹嘛的?

藍老闆 吃的,請務必用還沒有吸飽湯汁的紫菜裹上麵條一起大口懟到嘴裡,可以增添拉麵 豚骨 魚介以外的海水香氣,脆脆的口感又和柔軟的拉麵形成層次感。有點考驗筷子功力的吃法,初次看到是在沒有味覺的小泉。搭配過豚骨拉麵和魚介沾麵,相性都非常好! 顧扯淡 那個是海苔。雖然紫菜和海苔的原料一樣,但畢竟是經過加工...

藝術是幹嘛的

藝術是為了替你發出那些你抒發不出的情懷。就像有的人好不容易一步一步爬到泰山頂上,遠山,雲海,激動不已,內心腫脹,正琢磨著如何豪氣的抒發一下廣闊的胸懷,可一張嘴 好美啊 可美了 好看 這時幫邊有人吟詩 會當凌絕頂,一覽眾山小!藝術是幹嘛的,這真是有趣的問題。藝術其實本質上就是一種高階的娛樂。藝術的核心...