您好,登錄后才能下訂單哦!
本篇內容介紹了“什么是php靜態方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
在php中,通過static關鍵字修飾的成員方法被稱為靜態方法,靜態方法的內存空間是固定的,只能訪問類中的靜態成員,可以通過“類名::靜態方法()”語句訪問靜態方法。
本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦
在 PHP 中,通過 static 關鍵字修飾的成員屬性和成員方法被稱為靜態屬性和靜態方法,這里可以將它們統稱為靜態成員,類中的靜態成員與類中的一般成員不同,靜態成員不會被實例化到對象中,也就是說我們不需要實例化一個類,就可以通過類來訪問靜態成員。
在類中聲明靜態變量很容易,我們可以在類的普通成員前加一個 static 關鍵字,就可以將這個普通成員變成靜態成員了。這樣一來,我們可以在不實例化類的情況下,直接訪問類中的這些靜態成員。訪問靜態成員的語法格式如下:
類名::$靜態屬性 類名::靜態方法()
其中::
符號被稱為范圍解析操作符,用于訪問靜態成員、靜態方法和常量,還可以用于覆蓋類中的成員和方法。
如果要在類內部的成員方法中訪問靜態屬性,只要在靜態屬性的名稱前加上操作符self::
即可。
靜態方法
靜態方法的內存空間是固定的,相對來說更省資源。
創實例的創一個實例就要開辟一個新內存,耗費資源 靜態方法屬于類所有,類實例化前即可使用;
靜態方法只能訪問類中的靜態成員;
static內部只能出現static變量和其他static方法!而且static方法中還不能使用this等關鍵字,因為它是屬于整個類;
靜態方法和靜態變量創建后始終使用同一塊內存,而使用實例的方式會創建多個內存。
靜態方法的優點:
(1)在代碼的任何地方都可以用(假設可以訪問該類);
(2)類的每個實例都可以訪問類中定義的靜態屬性,可以利用靜態屬性來設置值,該值可以被類的所有對象使用;
(3)不需要實例對象就能訪問靜態屬性或方法。
靜態方法和普通方法的區別
靜態方法在創建對象前就可以使用了,非靜態方法必須通過new出來的對象調用。
靜態方法可以通過 類名::方法名直接調用。普通方法需要創建一個實例,也就是new一個對象,然后通過 對象名->方法名的方式來調用 靜態類只能包含靜態成員,否則會拋出編譯錯誤;
非靜態類既可以包含非靜態成員也可以包含靜態成員 靜態類是不能實例化,之所以不能實例化,是因為靜態類會導致C#編譯器將該類同時標記為abstract和sealed,并且編譯器不會在類型中 生成一個實例的構造函數,從而導致靜態類不能實例化;
非靜態類可以,并且靜態成員的訪問只能通過類來進行訪問,因為靜態成員是屬于類的。
“什么是php靜態方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。