宣告類屬性或方法為靜態,就可以不例項化類而直接訪問。
靜態屬性不能通過乙個類已例項化的物件來訪問(但靜態方法可以)。
由於靜態方法不需要通過物件即可呼叫,所以偽變數 $this 在靜態方法中不可用。
靜態屬性不可以由物件通過 -> 操作符來訪問。
用靜態方式呼叫乙個非靜態方法會導致乙個e_strict
級別的錯誤。
靜態屬性只能被初始化為文字或常量,不能使用表示式。
可以把靜態屬性初始化為整數或陣列,但不能初始化為另乙個變數或函式返回值,也不能指向乙個物件。
自 php 5.3.0 起,可以用乙個變數來動態呼叫類。但該變數的值不能為關鍵字 self,parent 或 static。
9、靜態屬性通過 類名::屬性名 呼叫
靜態方法通過 類名::方法名() 呼叫
10、靜態方法中$this偽變數不允許使用,
self::屬性名 呼叫本類靜態屬性
self::方法名() 呼叫本類靜態方法
parent::屬性名 呼叫父類靜態屬性
parent::方法名() 呼叫父類靜態方法
class phone
public static function getcolor()
}class meizu extends phone
}$phone::color();
//呼叫內部靜態方法
echo $phone::getname();
PHP 類Static 靜態關鍵詞
class myclass1 public static function staticfun print myclass1 my var n 不例項化,用範圍解析操作符直接訪問靜態屬性,輸出php print myclass1 fun1 n 不例項化,用範圍解析操作符直接訪問公共方法,輸出php ...
php 類物件呼叫靜態方法
以前一直以為 靜態方法的呼叫 類名 靜態方法 非靜態方法的呼叫 類物件 非靜態方法 最近研究乙個類,發現乙個比較奇怪的問題,用 類物件 靜態方法 這種方式居然成功的呼叫了靜態方法。很疑惑,還以為是該類中定義了 call魔術方法,在通過物件呼叫不到該靜態方法的時候,做了處理,通過類名呼叫了該方法。但是...
C STL模板類和 static 靜態成員
1 從類模板例項化的每乙個模板類有自己的類模板資料成員,該模板類的所有物件共享乙個 static 資料成員 2 和非模板類的 static 資料成員一樣,模板類的 static 資料成員也應該在檔案範圍定義和初始化 3 static 資料成員也可以使用虛擬型別引數 t demo.cpp includ...