1、靜態變數是只存在於函數範圍中的變數,注釋:執行後這種變數不會丟失(下次調用這個函數時,變數仍會記著原來的值)。
定義靜態變數的方法只需要在變數前面加上static關鍵字即可。
2、靜態成員是一種類變數,可以把它看成屬於整個類而不是類的某個執行個體。與一般執行個體變數不同之處:靜態成員只保留一個變數值,而這個變數值對所有的執行個體是有效(所有的執行個體都共用這個成員)。
3靜態方法:靜態方法的規則和靜態變數是相同。使用static關鍵字可以將方法標記為靜態方法,通過類的名稱和範圍限定符(::)(paamayim nekudotayim)可以訪問到靜態方法.
Java代碼
- <?php
- var_dump("Hellow word!");
- /**
- * 測試例子
- */
- class myObject{
- public static $myStaticVar = 0; //聲明一個共用靜態變數myStaticVar賦初始值0
- function myMethod(){
- self::$myStaticVar += 2;
- echo self::$myStaticVar . "\n";
- }
- static function myMethod2(){
- self::$myStaticVar += 2;
- echo self::$myStaticVar . "\n";
- }
-
- }
-
- class MyOtherObject extends myObject{
- public static $myStaticVar = 0; //重寫了myStaticVar
- function myOtherMethod(){
- echo parent::$myStaticVar ."\n";//parent訪問夫類
- echo self::$myStaticVar . "\n";//self訪問當前類
- }
- }
-
- $instance1 = new myObject(); //執行個體化myObject
- $instance1->myMethod();
- $instance2 = new myObject();
- $instance2->myMethod();
- $instance3 = new MyOtherObject();
- $instance3->myOtherMethod();
-
- echo myObject::$myMethod2();//
- ?>