關於php中靜態方法,靜態屬性的一些淺見

muxi_jinjiapan發表於2016-10-29

1、靜態方法,靜態屬性被稱作類方法、類屬性,可以在沒有例項化的時候直接使用  類名::屬性名  類名::方法名()   這樣的方式來呼叫。

header("content-type:text/html;charset=utf-8");
class Human{
    static public $name = "小妹";
    public $height = 180;
    static public function tell(){
        echo self::$name;
        
        //靜態方法呼叫靜態屬性,使用self關鍵詞
        //echo $this->height;//錯。靜態方法不能呼叫非靜態屬性
        //因為 $this代表例項化物件,而這裡是類,不知道 $this 代表哪個物件
    }
    public function say(){
//        echo self::$name . "我說話了".'<br>';
//        echo '<hr>';
//        self::tell();
        echo '我是say方法';
    }
}

隨手找了一個例子,測試了一下使用的方式。


2、靜態方法不能呼叫非靜態屬性,因為非靜態屬性需要例項化後,儲存到物件裡面

3、非靜態方法可以呼叫靜態屬性和靜態方法。使用self::屬性名  self::方法名()  這樣的方式來呼叫

相關文章