靜態方法


聲明類屬性或方法為靜態,就可以不實例化類而直接訪問。靜態屬性不能通過一個類已實例化的對象來訪問(但靜態方法可以)。

為了兼容 PHP 4,如果沒有指定訪問過程,屬性和方法默認為公有。

由於靜態方法不需要通過對象即可調用,所以偽變量 $this 在靜態方法中不可用。

靜態屬性不可以由對象通過 -> 操作符來訪問。

用靜態方式調用一個非靜態方法會導致一個 E_STRICT 級別的錯誤。

就像其它所有的 PHP 靜態變量一樣,靜態屬性只能被初始化為文字或常量,不能使用表達式。所以可以把靜態屬性初始化為整數或數組,但不能初始化為另一個變量或函數返回值,也不能指向一個對象。

自 PHP 5.3.0 起,可以用一個變量來動態調用類。但該變量的值不能為關鍵字 selfparent 或 static

<?php
    class Person
{   
    public static function a(){
        echo "star";       
    }
    public  function b(){
        echo "shine";
    }
}
    Person::a();     //調用靜態方法,可以直接調用
    Person::b();     //調用普通方法,理論上是不能調用成功的,但是這里能調用成功,可能是因為php檢測不太完善,或者是???  ,反正理論上是不能這么寫的

?>

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM