您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java中static關(guān)鍵字的使用方式”,在日常操作中,相信很多人在Java中static關(guān)鍵字的使用方式問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Java中static關(guān)鍵字的使用方式”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
在Java中,static是靜態(tài)修飾關(guān)鍵字。用于修飾類的成員方法、類的成員變量,另外可以編寫(xiě)static代碼塊來(lái)優(yōu)化程序性能;被static關(guān)鍵字修飾的方法或者變量不需要依賴于對(duì)象來(lái)進(jìn)行訪問(wèn),只要類被加載了,就可以通過(guò)類名去進(jìn)行訪問(wèn)。
方便在沒(méi)有創(chuàng)建對(duì)象的情況下來(lái)進(jìn)行調(diào)用方法或者變量。被static關(guān)鍵字修飾的方法或者變量不需要依賴對(duì)象來(lái)進(jìn)行訪問(wèn),只要類被加載了,就可以通過(guò)類名去訪問(wèn)。
static修飾的方法稱為靜態(tài)方法,由于靜態(tài)方法不依賴任何對(duì)象就能夠訪問(wèn),因此靜態(tài)方法中不能用this和super關(guān)鍵字,不能直接訪問(wèn)所屬類的實(shí)例變量和實(shí)例方法,只能訪問(wèn)所屬類的靜態(tài)成員變量和成員方法。代碼示例:
從上面代碼看出,在靜態(tài)方法t2調(diào)用非靜態(tài)成員變量age和非靜態(tài)成員方法t1時(shí),系統(tǒng)報(bào)錯(cuò)。同時(shí)在靜態(tài)方法t3中調(diào)用靜態(tài)方法t2,編譯通過(guò)。得出結(jié)論:在靜態(tài)方法中不能訪問(wèn)非靜態(tài)成員變量和非靜態(tài)成員方法,但在非靜態(tài)成員方法中能夠訪問(wèn)靜態(tài)成員方法和靜態(tài)成員變量。同時(shí)靜態(tài)的只能訪問(wèn)靜態(tài)的。
按照是否是靜態(tài)的可對(duì)類成員變量進(jìn)行分類:一種是被static修飾的變量,叫做靜態(tài)變量或者類變量;另一種是沒(méi)有被static修飾的變量,叫實(shí)例變量。
靜態(tài)變量和非靜態(tài)變量的區(qū)別:
靜態(tài)變量被所有對(duì)象共享,在內(nèi)存中只有一個(gè)副本,在類初次加載的時(shí)候才會(huì)初始化。
非靜態(tài)變量是對(duì)象所擁有的,在創(chuàng)建對(duì)象的時(shí)候被初始化,存在多個(gè)副本,各個(gè)對(duì)象擁有的副本互不影響。
static成員變量的初始化順序按照定義的順序進(jìn)行初始化。
static關(guān)鍵字還可用來(lái)形成靜態(tài)代碼塊來(lái)優(yōu)化程序性能,原因是它的特性:只會(huì)在類被初次加載的時(shí)候執(zhí)行一次。
靜態(tài)方法只能繼承,不能重寫(xiě)
代碼示例如下:
上面代碼中在父類和子類中各自定義一個(gè)aa方法,在左邊顯示為Override標(biāo)識(shí);但在父類和子類中各自定義一個(gè)static方法test,但并沒(méi)有出現(xiàn)Override標(biāo)識(shí),由此可知用static修飾的方法不能被重寫(xiě)。同時(shí),如果子類不用static關(guān)鍵字修飾,繼承父類時(shí)編譯出錯(cuò),可知靜態(tài)方法只能被靜態(tài)方法繼承。
總結(jié)
static是一個(gè)修飾符,用來(lái)修飾成員,被修飾的成員變量稱為靜態(tài)變量或類變量。
static修飾的成員被所有的對(duì)象共享。
static修飾的成員能直接被類名調(diào)用,形式為:類名.靜態(tài)成員。
靜態(tài)的只能訪問(wèn)靜態(tài)的。
static關(guān)鍵字不能改變變量和方法的訪問(wèn)權(quán)限。
靜態(tài)成員變量雖然獨(dú)立于對(duì)象,但是不代表不能通過(guò)對(duì)象去訪問(wèn),所有的靜態(tài)方法和靜態(tài)變量都可以通過(guò)對(duì)象訪問(wèn),只要訪問(wèn)權(quán)限足夠。
static不允許用來(lái)修飾局部變量。
到此,關(guān)于“Java中static關(guān)鍵字的使用方式”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。