【PHP】面向对象 - static关键字

小破孩
2022-06-17 / 0 评论 / 128 阅读 / 正在检测是否收录...

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;
    ?>
0

评论 (0)

取消