靜態(tài)修飾符static的使用場(chǎng)景有哪些?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務(wù)器商,為用戶提供優(yōu)質(zhì)的內(nèi)江機(jī)房主機(jī)托管服務(wù)一、什么是static修飾符
許多書(shū)和人都喜歡把static稱之為靜態(tài),但我不喜歡這樣稱呼它,我更喜歡直接叫它static。因?yàn)槲艺J(rèn)為靜態(tài)這兩個(gè)字無(wú)法真正表達(dá)出static的真正作用。在程序中任何變量或者成員都是在編譯時(shí)由系統(tǒng)自動(dòng)分配內(nèi)存來(lái)存儲(chǔ)的,而用static修飾的成員會(huì)存儲(chǔ)在一個(gè)static內(nèi)存區(qū)中并且一直存在,直到程序退出內(nèi)存才會(huì)釋放這個(gè)空間,也就是只要程序在運(yùn)行,那么這塊內(nèi)存就會(huì)一直存在。那么這樣的設(shè)計(jì)有什么意義了?在面向?qū)ο蟮母拍钪?,這樣的設(shè)計(jì)可是十分有意義的!因?yàn)檫@樣的設(shè)計(jì),static可以用來(lái)區(qū)分成員變量、方法是屬于類本身還是屬于類實(shí)例化后的對(duì)象。有static修飾的成員屬于類本身,沒(méi)有static修飾的成員屬于類的實(shí)例。
可能很多人還是不能理解,我在這邊快速簡(jiǎn)單的寫(xiě)個(gè)例子吧。
class a{ public $aa = 1; public function aa(){ $this->aa += 1; echo $this->aa; } } class b{ public function bb(){ $aaa = new a(); $aaa->aa(); } } class c{ public function cc(){ $aaa = new a(); $aaa->aa(); } } $bbb = new b(); $ccc = new c(); $bbb->bb(); echo '*******************'; $ccc->cc();