重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
静态修饰符static的使用场景有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的内江机房主机托管服务一、什么是static修饰符
许多书和人都喜欢把static称之为静态,但我不喜欢这样称呼它,我更喜欢直接叫它static。因为我认为静态这两个字无法真正表达出static的真正作用。在程序中任何变量或者成员都是在编译时由系统自动分配内存来存储的,而用static修饰的成员会存储在一个static内存区中并且一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在。那么这样的设计有什么意义了?在面向对象的概念中,这样的设计可是十分有意义的!因为这样的设计,static可以用来区分成员变量、方法是属于类本身还是属于类实例化后的对象。有static修饰的成员属于类本身,没有static修饰的成员属于类的实例。
可能很多人还是不能理解,我在这边快速简单的写个例子吧。
class a{ public $aa = 1; public function aa(){ $this->aa += 1; echo $this->aa; } } class b{ public function bb(){ $aaa = new a(); $aaa->aa(); } } class c{ public function cc(){ $aaa = new a(); $aaa->aa(); } } $bbb = new b(); $ccc = new c(); $bbb->bb(); echo '*******************'; $ccc->cc();