關(guān)于static和非static變量的區(qū)別
成都創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為新鄉(xiāng)縣企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,新鄉(xiāng)縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。1. static 修飾的變量稱為類變量或全局變量或成員變量,在類被加載的時(shí)候成員變量即被初始化,與類關(guān)聯(lián),只要類存在,static變量就存在。非static修飾的成員變量是在對(duì)象new出來(lái)的時(shí)候劃分存儲(chǔ)空間,是與具體的對(duì)象綁定的,該成員變量?jī)H為當(dāng)前對(duì)象所擁有的。
2. static修飾的變量在加載的時(shí)候先于main方法加載在內(nèi)存中的數(shù)據(jù)共享區(qū)-------方法區(qū),而非static的變量在加載的時(shí)候,是要?jiǎng)?chuàng)建變量才加載在堆內(nèi)存中的。
3. 一個(gè)static變量單獨(dú)劃分一塊存儲(chǔ)空間,不與具體的對(duì)象綁定在一起,該存儲(chǔ)空間被類的各個(gè)對(duì)象所共享。static變量值在方法區(qū)加載一次,而非static在創(chuàng)建對(duì)象時(shí)會(huì)加載很多次。每次創(chuàng)建都會(huì)拷貝一份。
4. 對(duì)象在引用成員變量是直接通過(guò)類名.變量名調(diào)用,對(duì)象在引用實(shí)例變量時(shí)只能通過(guò)對(duì)象名.變量名調(diào)用。
5. 在類中調(diào)用成員變量時(shí)直接調(diào)用或者以類名.變量名方式調(diào)用,實(shí)例變量則用this或者直接調(diào)用。
關(guān)于static方法和非static方法的區(qū)別
1. static修飾的方法也和static一樣。先于main方法被加載到方法區(qū),以便共享使用。
2. 靜態(tài)的static方法中不能使用this或者super關(guān)鍵字,因?yàn)閟tatic方法是先于對(duì)象創(chuàng)建之前就已經(jīng)加載的方法,是屬于類的方法,而this和super指向的是本類的對(duì)象或者父類的對(duì)象,非靜態(tài)的方法是屬于對(duì)象的,方法里可以用this和super。
3. static方法可以用對(duì)象.方法名來(lái)調(diào)用,也可以用類名.方法名來(lái)調(diào)用。而非靜態(tài)的方法只能創(chuàng)建對(duì)象后時(shí)調(diào)用。
4. static方法是加載一次,被所有的對(duì)象所共享。而非靜態(tài)方法是有多少個(gè)對(duì)象就拷貝多少次,每個(gè)對(duì)象只能調(diào)用自己的拷貝的方法。
5. 對(duì)象調(diào)用非靜態(tài)的方法時(shí),不考慮線程安全性的問(wèn)題,而調(diào)用靜態(tài)方法時(shí),要考慮安全性的問(wèn)題。因?yàn)殪o態(tài)方法只有一份。而對(duì)象的方法是自己有自己的。
6. 同一個(gè)類中,靜態(tài)方法中只能訪問(wèn)類中的靜態(tài)成員。而非靜態(tài)方法可以訪問(wèn)非靜態(tài)的方法(使用類名調(diào)用,或者創(chuàng)創(chuàng)建本類的對(duì)象調(diào)用)。
總結(jié)
以上就是本文關(guān)于Java中static和非static的區(qū)別的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以參閱:Java單例模式實(shí)現(xiàn)靜態(tài)內(nèi)部類方法示例、Java多線程ForkJoinPool實(shí)例詳解、淺談Java注解和動(dòng)態(tài)代理等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。
當(dāng)前文章:淺談Java中static和非static的區(qū)別-創(chuàng)新互聯(lián)
路徑分享:http://www.rwnh.cn/article24/dcdcce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)、域名注冊(cè)、電子商務(wù)、企業(yè)建站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
移動(dòng)網(wǎng)站建設(shè)知識(shí)