学科分类
目录
PHP基础

静态成员

除了类常量外,如果想要类中的某些成员只保存一份,并且可以被所有实例的对象所共享时,就可以使用静态成员。静态成员有两种,分为静态属性和静态方法,在PHP中,静态成员使用static关键字修饰,表示属于类的成员,可以通过类名直接访问,不需要实例化对象。静态成员声明和访问的具体语法格式如下所示。

// 静态成员的声明
public static 属性名;    // 声明静态属性
public static 方法名() {}  // 声明静态方法
// 静态成员的访问
类名::静态成员

需要注意的是,静态成员是属于类的,不需要通过对象调用,所以$this在静态方法中不可使用。当访问类中的静态成员时,通常使用self或static关键字代替类名,配合使用范围解析操作符“::”。下面演示静态成员的定义和访问,具体代码如下所示。

 1  class Student
 2  {
 3    public static $msg;
 4    public static function show()
 5    {
 6      echo self::$msg;   // 类内访问静态属性
 7    } 
 8  }
 9  Student::$msg = '信息';   // 类外访问静态属性

从上述代码可以看出,类的静态成员在没有实例化对象的情况下就可以访问。通常在类外使用类名访问,在类内使用self关键字进行访问,它是用来在类内部代替类名的关键字,在类名发生变化时,不需要修改类的内部代码。

点击此处
隐藏目录