1. 程式人生 > 其它 >6 靜態變數(static)

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指的是某個具體的物件。