您好,登錄后才能下訂單哦!
小編給大家分享一下php中final和static有什么區別,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php中final和static的區別:1、static是靜態變量,靜態變量僅在局部函數域中存在,但當程序執行離開此作用域時,其值并不丟失;2、final是用于函數的,屬于面向對象的用法,一旦使用,這個函數就無法更改和重載。
本文操作環境:Windows7系統、PHP7.1版,Dell G3電腦
php中final和static的區別
static是靜態變量,靜態變量僅在局部函數域中存在,但當程序執行離開此作用域時,其值并不丟失。
例如,你可以用來計算函數調用的累加次數。
<?PHP function Test() { static $w3sky = 0; echo $w3sky; $w3sky++; } ?>
靜態(static)關鍵字
本頁說明了用 static 關鍵字來定義靜態方法和屬性。static 也可用于定義靜態變量以及后期靜態綁定。參見上述頁面了解 static 在其中的用法。
聲明類屬性或方法為靜態,就可以不實例化類而直接訪問。靜態屬性不能通過一個類已實例化的對象來訪問(但靜態方法可以)。
靜態方法
由于靜態方法不需要通過對象即可調用,所以偽變量 $this 在靜態方法中不可用。
用靜態方式調用一個非靜態方法會拋出 Error。
在 PHP 8.0.0 之前,通過靜態方式調用一個非靜態方法這種用法已經被廢棄,并且會導致一個 E_DEPRECATED 級別的警告。
fainal 是用于函數的,屬于面向對象的用法,一旦使用,這個函數就無法更改和重載了。
PHP 5 新增了一個 final 關鍵字。如果父類中的方法被聲明為 final,則子類無法覆蓋該方法。如果一個類被聲明為 final,則不能被繼承。
以上是“php中final和static有什么區別”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。