PHP中的static的理解

Posted Warm water frog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中的static的理解相关的知识,希望对你有一定的参考价值。

静态方法

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

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

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

静态方法的优点:

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

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

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

 

静态方法

php中将成员方法声明为静态,就称其为静态方法。由于静态方法不受任何具体对象的限制,所以不需要建立类实例就可以直接引用类中的方法

静态属性

 

静态属性可以被看做是存储在类当中的全局变量,可以在任何地方通过类来访问它们。

由于静态属性不受任何具体对象的限制,所以不需要建立类实例,而可以直接引用类中的静态属性。

以上是关于PHP中的static的理解的主要内容,如果未能解决你的问题,请参考以下文章

PHP 中的 self::$bar 和 static::$bar 有啥区别?

理解静态局部变量(static)在程序中的执行规则

PHP5中的高级OOP?

PHP中的后期静态绑定(Late Static Bindings )

关于 Java 中的 static 关键字

后期静态绑定在PHP中的使用