静态变量和常亮/静态函数的调用,不需要实例化该类,所以节省资源
<?php Class Person{ // 定义静态成员属性 public static $country = "中国";
//声明常亮
const STATUS = 1; // 定义静态成员方法 public static function myCountry() { // 内部访问静态成员属性 echo "我是".self::$country."人<br />"; } } class Student extends Person { function study() { echo "我是". parent::$country."人<br />"; } } // 输出成员属性值 echo Person::$country."<br />"; // 输出:中国 $p1 = new Person(); //echo $p1->country; // 错误写法 // 访问静态成员方法 Person::myCountry(); // 输出:我是中国人 // 静态方法也可通过对象访问: $p1->myCountry(); // 子类中输出成员属性值 echo Student::$country."<br />"; // 输出:中国 $t1 = new Student(); $t1->study(); // 输出:我是中国人 ?>
静态变量和常量的区别在于常量本身就是值的形式,在内存中不区分空间; 静态变量是变量形式,需要分空间