php 后期静态绑定 static 关键字的另一种用法
来源:互联网 发布:店铺怎么加入农村淘宝 编辑:程序博客网 时间:2024/05/18 01:42
自 PHP 5.3.0 起,PHP 增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。 虽然也可以调用非静态方法,但是不会在运行时绑定。
static 不再只是简单的静态修饰关键字。而是可以像下面这样调用类的静态方法,非静态方法,为什么静态非静态要分开说呢,因为调用的效果是不一样的。
<?phpclass A { public static function who () { echo __CLASS__ ; } public static function test () { static:: who (); // 后期静态绑定从这里开始 }}class B extends A { public static function who () { echo __CLASS__ ; }}B :: test ();?>
如上代码:B调用test方法,test方法调用who方法。而B类中重写了who方法,则实际调用的是B中的who方法,所以输出的__CLASS__是B 这就是说 static 调用的静态方法会在运行时自动判断调用谁的方法。而self则只会调用定义它时所在的类中的方法。这是static的一个区别于其它调用的一个新特性。而static调用非静态方法时则不会达到这种后期绑定的效果,所以叫后期静态绑定。
还有就是 static只能调用静态属性。
总结:
综上所述,static关键字可以实现以下功能:
1 调用类的静态方法 有后期静态绑定效果;
2 调用类的静态属性 有后期静态绑定效果;
3 调用类的非静态方法 没有后期静态绑定效果;
4 强调一下 不可以调用非静态属性;
0 0
- php 后期静态绑定 static 关键字的另一种用法
- php 后期静态绑定的用法 static::
- PHP static后期静态绑定
- static 后期静态绑定
- PHP学习笔记之:后期静态绑定的用法
- php 后期静态绑定
- php后期静态绑定
- php静态后期绑定
- php 后期静态绑定
- php后期静态绑定
- PHP后期静态绑定
- PHP中的后期静态绑定(Late Static Bindings )
- PHP后期静态绑定的功能
- 81. PHP 后期静态绑定
- PHP后期静态绑定测试
- php之static后期绑定/延迟绑定
- PHP 后期静态绑定之self::限制
- php后期静态绑定例子讲解
- HttpUtils请求XML加XListView刷新加载
- 计算机网络课程tcp复习笔记
- QLabel出现一会然后消失,起到提示作用
- Android Studio真机测试失败-----''No target device found"
- 笔试题81. LeetCode OJ (68)
- php 后期静态绑定 static 关键字的另一种用法
- [置顶] Android之Notification的多种用法
- 机器学习系列:(九)从感知器到支持向量机
- 基于SQL求集合的交、并、补
- suid 实验
- 关于ios项目绕过证书访问https
- ListView实现多布局(上)
- gradle解析mavenLocal()仓库地址流程
- 求一个数组中满足2^N的个数