6 靜態變數(static)
l static關鍵字是在類中描述成員屬性和方法是靜態的。static成員能夠限制外部的訪問,因為static成員是屬於類的,不屬於任何物件例項,是在類第一次被載入的時候分配的空間,其他類無法訪問,只能對類的例項共享,能對類的成員形成保護
l 靜態成員是在類第一次載入的時候就建立的,所以在類的外部不需要物件而使用類名就可以訪問的到靜態的成員。
l 類裡面的靜態方法只能訪問類的靜態屬性,不能訪問類的非靜態成員。在靜態方法中可以通過使用 self::成員屬性的方法進行訪問。
l 靜態屬性不能通過一個類已例項化的物件來訪問(但靜態方法可以)。
靜態變數基本就是在每個東西中都有這麼一個變數
l 定義:訪問修飾符static $變數名 或static訪問修飾符 $變數名。
l 使用:
類的內部:self::$變數名,類名::$變數名。(::叫做範圍解析符)
classFriends{
public$name;
publicstatic$total=0;
publicfunction__construct($name){
$this->name=$name;
}
publicfunctioncountFriends(){
self::$total++;
}
publicfunctionshowCount(){
echoFriends::$total;
}
}
$friend1=newFriends("friend1");
$friend2=newFriends("friend2");
$friend3=newFriends("friend3");
$friend1->countFriends();
$friend2->countFriends();
$friend3->countFriends();
$friend1->showCount();
echo"<br>";
echoFriends::$total;//必須是public
l 注意:
self指的是類,this指的是某個具體的物件。