PHP基礎(chǔ)之類和對(duì)象9——static關(guān)鍵字
本頁說明了用 static 關(guān)鍵字來定義靜態(tài)方法和屬性。static 也可用于定義靜態(tài)變量以及后期靜態(tài)綁定。
聲明類屬性或方法為靜態(tài),就可以不實(shí)例化類而直接訪問。靜態(tài)屬性不能通過一個(gè)類已實(shí)例化的對(duì)象來訪問(但靜態(tài)方法可以)。
為了兼容 PHP 4,如果沒有指定訪問控制,屬性和方法默認(rèn)為公有。
由于靜態(tài)方法不需要通過對(duì)象即可調(diào)用,所以偽變量 $this 在靜態(tài)方法中不可用。
靜態(tài)屬性不可以由對(duì)象通過 -> 操作符來訪問。
用靜態(tài)方式調(diào)用一個(gè)非靜態(tài)方法會(huì)導(dǎo)致一個(gè)?E_STRICT?級(jí)別的錯(cuò)誤。
就像其它所有的 PHP 靜態(tài)變量一樣,靜態(tài)屬性只能被初始化為文字或常量,不能使用表達(dá)式。所以可以把靜態(tài)屬性初始化為整數(shù)或數(shù)組,但不能初始化為另一個(gè)變量或函數(shù)返回值,也不能指向一個(gè)對(duì)象。
Example #1 靜態(tài)屬性示例
class Foo{ public static $my_static = ’foo’; public function staticValue(){return self::$my_static; }}class Bar extends Foo{ public function fooStatic(){return parent::$my_static; }}print Foo::$my_static.’<br>’;$foo = new Foo();print $foo->staticValue().’<br>’;print $foo->my_static.’<br>’;print $foo::$my_static.’<br>’;$classname = ’Foo’;print $classname::$my_static;print Bar::$my_static.’<br>’;$bar = new Bar();print $bar->fooStatic().’<br>’;
相關(guān)文章:
1. idea設(shè)置提示不區(qū)分大小寫的方法2. Java利用TCP協(xié)議實(shí)現(xiàn)客戶端與服務(wù)器通信(附通信源碼)3. 使用AJAX(包含正則表達(dá)式)驗(yàn)證用戶登錄的步驟4. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算5. IDEA 2020.1.2 安裝教程附破解教程詳解6. JS圖片懶加載庫VueLazyLoad詳解7. Java PreparedStatement用法詳解8. django queryset相加和篩選教程9. Spring如何集成ibatis項(xiàng)目并實(shí)現(xiàn)dao層基類封裝10. IntelliJ IDEA導(dǎo)出項(xiàng)目的方法

網(wǎng)公網(wǎng)安備