php 类中static的说明

1.类中定义static属性和方法,调用时不用实例化

2.static的属性,在内存中只有一份,为所有的实例共用

  使用self:: 关键字访问当前类的静态成员。

  一个类的所有实例,共用类中的静态属性。

  也就是说,在内存中即使有多个实例,静态的属性也只有一份。

3.静态方法不能调用非静态属性 。不能使用self::调用非静态属性。也不能使用 $this 获取非静态属性的值。

4.静态方法调用非静态方法
  PHP5中,在静态方法中不能使用 $this 标识调用非静态方法(由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。)。可以用self::方法名调用非静态方法,非静态方法就默认为静态方法
(当一个类中有非静态方法被self:: 调用时,系统会自动将这个方法转换为静态方法。)

class Math   
{         
    public function Max($num1, $num2) {     
        echo "bad<br />";             
        return $num1 > $num2 ? $num1 : $num2;     
    }     
    public static function Max3($num1, $num2, $num3) {     
        $num1 = self::Max($num1, $num2);     
        $num2 = self::Max($num2, $num3);     
        $num1 = self::Max($num1, $num2);             
        return $num1;     
    }     
}     
$a = 99;     
$b = 77;     
$c = 188;     
echo "显示 $a $b $c 中的最大值是";     
echo "<br />";     
echo Math::Max3($a, $b, $c)

  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/klinghr/archive/2010/01/19/5212912.aspx


posted @ 2012-03-06 11:30  赵治鲁  阅读(429)  评论(0编辑  收藏  举报