PHP静态变量、成员、方法


PHP静态变量、成员、方法

1、静态变量是只存在于函数作用域中的变量,注释:执行后这种变量不会丢失(下次调用这个函数时,变量仍会记着原来的值)。定义静态变量的方法只需要在变量前面加上static关键字即可。

2、静态成员是一种类变量,可以把它看成属于整个类而不是类的某个实例。与一般实例变量不同之处:静态成员只保留一个变量值,而这个变量值对所有的实例是有效的(所有的实例都共享这个成员)。 

3、静态方法:静态方法的规则和静态变量是相同。使用static关键字可以将方法标记为静态方法,通过类的名称和作用域限定符(::)(paamayim nekudotayim)可以访问到静态方法. 


Java代码  
  1.     var_dump("Hellow word!");  
  2.     /** 
  3.      * 测试例子 
  4.     */  
  5.     class myObject{  
  6.         public static $myStaticVar = 0//声明一个共用静态的变量myStaticVar赋初始值0  
  7.         function myMethod(){  
  8.             self::$myStaticVar += 2;  
  9.             echo self::$myStaticVar . "\n";  
  10.         }  
  11.         static function myMethod2(){  
  12.             self::$myStaticVar += 2;  
  13.             echo self::$myStaticVar . "\n";  
  14.         }  
  15.   
  16.     }  
  17.       
  18.     class MyOtherObject extends myObject{  
  19.         public static $myStaticVar = 0//重写了myStaticVar  
  20.         function myOtherMethod(){  
  21.             echo parent::$myStaticVar ."\n";//parent访问夫类  
  22.             echo self::$myStaticVar . "\n";//self访问当前类  
  23.         }  
  24.     }  
  25.       
  26.     $instance1 = new myObject(); //实例化myObject  
  27.     $instance1->myMethod();  
  28.     $instance2 = new myObject();  
  29.     $instance2->myMethod();  
  30.     $instance3 = new MyOtherObject();  
  31.     $instance3->myOtherMethod();  
  32.       
  33.     echo myObject::$myMethod2();//  
  34. ?> 

     转自:http://www.cnblogs.com/mrray/archive/2011/03/28/1998014.html

你可能感兴趣的:(php/基础学习)