摘要:方法靜態(tài)方法可以直接通過(guò)類(lèi)名調(diào)用,任何的實(shí)例也可以調(diào)用因此靜態(tài)方法中不能用和關(guān)鍵字,不能直接訪問(wèn)所屬類(lèi)的非靜態(tài)變量和非靜態(tài)方法,只能訪問(wèn)所屬類(lèi)的靜態(tài)成員變量和靜態(tài)成員方法。
static可以理解為全局的。
static可以修飾: 變量,方法,代碼塊,內(nèi)部類(lèi)。
static變量
被static修飾的變量,叫靜態(tài)變量或類(lèi)變量;static的變量一直只有一個(gè),被所有對(duì)象共享。
*對(duì)于靜態(tài)變量在內(nèi)存中只有一個(gè)拷貝(節(jié)省內(nèi)存),JVM只為靜態(tài)分配一次內(nèi)存,在加載類(lèi)的過(guò)程中完成靜態(tài)變量的內(nèi)存分配,可用類(lèi)名直接訪問(wèn)(方便),當(dāng)然也可以通過(guò)對(duì)象來(lái)訪問(wèn)(但是這是不推薦的)。
對(duì)于實(shí)例變量,每當(dāng)創(chuàng)建一個(gè)實(shí)例,就會(huì)為實(shí)例變量分配一次內(nèi)存,實(shí)例變量可以在內(nèi)存中有多個(gè)拷貝,互不影響(靈活)。*
static方法
靜態(tài)方法可以直接通過(guò)類(lèi)名調(diào)用,(任何的實(shí)例也可以調(diào)用)
因此靜態(tài)方法中不能用this和super關(guān)鍵字,不能直接訪問(wèn)所屬類(lèi)的非靜態(tài)變量和非靜態(tài)方法,只能訪問(wèn)所屬類(lèi)的靜態(tài)成員變量和靜態(tài)成員方法。(因?yàn)榉庆o態(tài)變量和非靜態(tài)方法都是需要對(duì)象來(lái)調(diào)用的)
例如為了方便方法的調(diào)用,Java API中的Math類(lèi)中所有的方法都是靜態(tài)的,而一般類(lèi)內(nèi)部的static方法也是方便其它類(lèi)對(duì)該方法的調(diào)用。
static代碼塊
static代碼塊也叫靜態(tài)代碼塊,是在類(lèi)中獨(dú)立于類(lèi)成員的static語(yǔ)句塊,可以有多個(gè),位置可以隨便放,它不在任何的方法體內(nèi),JVM加載類(lèi)時(shí)會(huì)執(zhí)行這些靜態(tài)的代碼塊,如果static代碼塊有多個(gè),JVM將按照它們?cè)陬?lèi)中出現(xiàn)的先后順序依次執(zhí)行它們,每個(gè)代碼塊只會(huì)被執(zhí)行一次。
static內(nèi)部類(lèi)
靜態(tài)內(nèi)部類(lèi)可以創(chuàng)建靜態(tài)的成員,而非靜態(tài)的內(nèi)部類(lèi)不可以,靜態(tài)內(nèi)部類(lèi)只可以訪問(wèn)外部類(lèi)中的靜態(tài)成員變量與成員方法,而非靜態(tài)的內(nèi)部類(lèi)即可以訪問(wèn)所有的外部類(lèi)成員方法與成員變量。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/67090.html
摘要:更高效的解決方案是將一個(gè)事件偵聽(tīng)器實(shí)際綁定到父容器上,然后在實(shí)際單擊時(shí)可以訪問(wèn)每個(gè)確切元素。如果將事件偵聽(tīng)器綁定到窗口滾動(dòng)事件上,并且用戶(hù)快速滾動(dòng)頁(yè)面,事件很可能會(huì)在短時(shí)間多次觸發(fā)。 原文鏈接 問(wèn)題 #1: 事件委托 事件委托,也叫事件委派,事件代理。 當(dāng)構(gòu)建應(yīng)用程序時(shí),有時(shí)需要將事件監(jiān)聽(tīng)器綁定到頁(yè)面上的某些元素上,以便在用戶(hù)與元素交互時(shí)執(zhí)行某些操作。 假設(shè)我們現(xiàn)在有一個(gè)無(wú)序列表: ...
摘要:相反,在討論時(shí),面試中通常會(huì)提到三件事。而認(rèn)為最后一個(gè)參賽者說(shuō)了算,只要還能吃的,就重新設(shè)定新的定時(shí)器。試想,如果用戶(hù)的操作十分頻繁他每次都不等設(shè)置的時(shí)間結(jié)束就進(jìn)行下一次操作,于是每次都為該用戶(hù)重新生成定時(shí)器,回調(diào)函數(shù)被延遲了不計(jì)其數(shù)次。本文不是討論最新的 JavaScript 庫(kù)、常見(jiàn)的開(kāi)發(fā)實(shí)踐或任何新的 ES6 函數(shù)。相反,在討論 JavaScript 時(shí),面試中通常會(huì)提到三件事。我自己...
摘要:了解歷史和是與服務(wù)器交互的方式,說(shuō)到方式,其實(shí)總共有四種。區(qū)別分析把請(qǐng)求的數(shù)據(jù)放在上,即協(xié)議頭上,其格式為以分割和傳輸數(shù)據(jù),參數(shù)之間以相連。在瀏覽器回退時(shí)是無(wú)害的,會(huì)再次提交請(qǐng)求。請(qǐng)求只能進(jìn)行編碼,而支持多種編碼方式。 了解歷史 get和post是HTTP與服務(wù)器交互的方式, 說(shuō)到方式,其實(shí)總共有四種: post、delete、put、get。 他們的作用分別是對(duì)服務(wù)器資源的增、刪、改...
摘要:相反,在討論時(shí),面試中通常會(huì)提到三件事。通過(guò)對(duì)事件對(duì)應(yīng)的回調(diào)函數(shù)進(jìn)行包裹以自由變量的形式緩存時(shí)間信息,最后用來(lái)控制事件的觸發(fā)頻率。而認(rèn)為最后一個(gè)參賽者說(shuō)了算,只要還能吃的,就重新設(shè)定新的定時(shí)器。 showImg(https://segmentfault.com/img/bVboH5x?w=1000&h=750); 想閱讀更多優(yōu)質(zhì)文章請(qǐng)猛戳GitHub博客,一年百來(lái)篇優(yōu)質(zhì)文章等著你! 本...
摘要:一名年工作經(jīng)驗(yàn)的程序員應(yīng)該具備的技能,這可能是程序員們比較關(guān)心的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)和算法分析數(shù)據(jù)結(jié)構(gòu)和算法分析,對(duì)于一名程序員來(lái)說(shuō),會(huì)比不會(huì)好而且在工作中能派上用場(chǎng)。 一名3年工作經(jīng)驗(yàn)的Java程序員應(yīng)該具備的技能,這可能是Java程序員們比較關(guān)心的內(nèi)容。我這里要說(shuō)明一下,以下列舉的內(nèi)容不是都要會(huì)的東西—-但是如果你掌握得越多,最終能得到的評(píng)價(jià)、拿到的薪水勢(shì)必也越高。 1、基本語(yǔ)法 這包括...
閱讀 3288·2021-11-23 09:51
閱讀 3697·2021-10-13 09:39
閱讀 2603·2021-09-22 15:06
閱讀 960·2019-08-30 15:55
閱讀 3214·2019-08-30 15:44
閱讀 1844·2019-08-30 14:05
閱讀 3512·2019-08-29 15:24
閱讀 2428·2019-08-29 12:44