php static方法是指什么?

  • 来源:网络
  • 更新日期:2020-07-22

摘要:在php中,static方法指的是“静态方法”;通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法;静态方法不能访问这个类中的普通属性,因为那些属性属于一个对象,但

在php中,static方法指的是“静态方法”;通过static关键字修饰的成员属性和成员方法被称为静态属性和静态方法;静态方法不能访问这个类中的普通属性,因为那些属性属于一个对象,但可以访问静态属性。

PHP static:静态方法和属性

在 PHP 中,通过 static 关键字修饰的成员属性和成员方法被称为静态属性和静态方法,这里可以将它们统称为静态成员,类中的静态成员与类中的一般成员不同,静态成员不会被实例化到对象中,也就是说我们不需要实例化一个类,就可以通过类来访问静态成员。

【相关教程推荐:《PHP教程》】

在类中声明静态变量很容易,我们可以在类的普通成员前加一个 static 关键字,就可以将这个普通成员变成静态成员了。这样一来,我们可以在不实例化类的情况下,直接访问类中的这些静态成员。访问静态成员的语法格式如下:

类名::$静态属性
类名::静态方法()

其中::符号被称为范围解析操作符,用于访问静态成员、静态方法和常量,还可以用于覆盖类中的成员和方法。

如果要在类内部的成员方法中访问静态属性,只要在静态属性的名称前加上操作符self::即可。

静态方法

(1)静态方法不能访问这个类中的普通属性,因为那些属性属于一个对象,但可以访问静态属性;

(2)从当前类(不是子类)中访问静态方法或属性,可以使用 self 关键字,self 指向当前类,就像 $this 指向当前对象一样;

(3)不能再对象中调用静态方法,静态方法和属性又被称为类方法和类属性,因此不能再对象中使用伪变量 $this 。

静态方法的优点:

(1)在代码的任何地方都可以用(假设可以访问该类);

(2)类的每个实例都可以访问类中定义的静态属性,可以利用静态属性来设置值,该值可以被类的所有对象使用;

(3)不需要实例对象就能访问静态属性或方法。

php静态方法的好处及不足

1、static方法是类中的一个成员方法,属于整个类,即使不用创建任何对象也可以直接调用!

2、静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁。

3、静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。

4、C++中,若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法。静态方法为类所有,可以通过对象来使用,也可以通过类来使用。但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用。静态方法只能用类的静态成员。

推荐学习:PHP编程从入门到精通