首頁  >  文章  >  後端開發  >  PHP 中的 -> 和 :: 的區別

PHP 中的 -> 和 :: 的區別

藏色散人
藏色散人轉載
2020-01-20 13:11:193877瀏覽

PHP 中的-> 和:: 的差異

-> 

類別中用於引用類別實例的方法和屬性

例如:

class Test{
    function add(){return $this->var++;}
    var $var = 0;
}
$a = new Test;  //  实例化对象名称
echo $a->add();
echo $a->var;

 ::

類別中靜態方法和靜態屬性的參考方法

例如:

class Test{
    public static function test(){
    public static $test = 1;
   }
}

類別的靜態方法和靜態屬性可以不用實例化物件直接使用(使用的方式是類別名稱::靜態方法名稱)

Test::test();  //  调用静态方法test
Test::$test;  //  来取得$test静态属性的值

註:

靜態方法在讀到這個類別或引入這個類別檔案的時候,就已經實例化並存放到記憶體中了,非靜態類別則需要new一下。

靜態類別在記憶體中即使有多個實例,靜態的屬性也只有一份。

以上是PHP 中的 -> 和 :: 的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除