首页 > 其他 > 详细

静态方法

时间:2020-01-11 11:10:25      阅读:66      评论:0      收藏:0      [点我收藏+]

声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

为了兼容 PHP 4,如果没有指定访问过程,属性和方法默认为公有。

由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用。

静态属性不可以由对象通过 -> 操作符来访问。

用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误。

就像其它所有的 PHP 静态变量一样,静态属性只能被初始化为文字或常量,不能使用表达式。所以可以把静态属性初始化为整数或数组,但不能初始化为另一个变量或函数返回值,也不能指向一个对象。

自 PHP 5.3.0 起,可以用一个变量来动态调用类。但该变量的值不能为关键字 selfparent 或 static

<?php
    class Person
{   
    public static function a(){
        echo "star";       
    }
    public  function b(){
        echo "shine";
    }
}
    Person::a();     //调用静态方法,可以直接调用
    Person::b();     //调用普通方法,理论上是不能调用成功的,但是这里能调用成功,可能是因为php检测不太完善,或者是???  ,反正理论上是不能这么写的

?>

 

 

 

静态方法

原文:https://www.cnblogs.com/starshine-zhp/p/12179069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!