949
Php编程
PHP类的static静态属性和静态方法
PHP类中包含属性和方法,在实例化一个对象的时候,每一个对象都拥有自己的属性和方法的拷贝。但是有一种情况例外,那就是类里面的静态属性和静态方法,今天就来了解一下类里面的静态属性和静态方法。
静态属性
和常规属性不同,类的静态属性属于类本身,而不属于任何类的实例,它们也被叫做类属性。你可以在任何地方通过类来访问静态属性,因此你也可以把静态属性认为是存储在类当中的全局变量。
静态属性是用static关键字定义的,静态属性的访问在类里面使用self::在类外面使用类名::。下面来看一个例子:
执行结果如下:
可以看到静态属性并不是属于某一个对象的,任何一个对象改变了它的值都是对整个类生效的。
静态方法
和静态属性相似,静态方法也是属于类本身,而不属于任何类的实例,多以你可以不创建对象而直接通过类名直接调用。注意特殊变量$this是对对象本身的引用,由于静态方法不属于任何对象,所以静态方法里面不能使用$this。由于静态方法可以直接通过类名来在任何地方调用,而不必实例化,所以你可以把它当做全局方法来用,但是要注意这时静态方法需要为public,而不能是protected和private,否则只能在类里面用self来调用。下面来看一个例子:
执行结果如下:
执行结果如下:
最后更新:2017-10-08 21:36:21