static
- static关键字是在类中描述成员属性和方法是静态的。static成员能够限制外部的访问,因为static成员是属于类的,不属于任何对象实例,是在类第一次被加载的时候分配的空间,其他类无法访问,只能对垒的实例共享,能对类的成员形成保护
- 静态成员是在类第一次加载的时候就创建的,所以在类的外部不需要对象而使用类名就可以访问的到静态的成员。
- 类里面的静态方法只能访问类的静态属性,不能访问类的非静态成员。在静态方法中可以通过使用 self::成员属性的方法进行访问。
静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。
<?
class Person{//下面是人的静态成员属性 public static $myCountry = "中国"; //这是人的静态成员方法 public static function say() { echo "我是中国人"; }
}
//输出静态属性
echo Person::$myCountry;//访问静态方法
Person::say();
(new Person())->say();//重新给静态属性赋值
Person::$myCountry = "美国";
echo Person::$myCountry;
?>