您的位置:首页 > 编程语言 > PHP开发

php学习笔记之static的问题

2016-07-22 00:00 519 查看
<?php

/**

* 静态调用非静态方法

*/

class Test{

public static function testStatic(){

echo "test";

}

public function testNotStatic(){

echo "test2"; //静态调用非静态方法,不推荐但是可以效率很慢

}

}

Test::testStatic();

echo "***";

$a = 'Test';

$a::testStatic(); //赋给变量也可以

echo "***";

Test::testNotStatic();//静态调用非静态方法,不应该但是可以效率很慢

/**

* 延迟加载,使用static关键字在父类中引用扩展类的最终状态

*/

class ParentClass{

static $property = 'Parent value';

public static function getProperty(){

return static::$property; //使用static,获得最终状态值

}

public static function getCallClass(){

return get_called_class(); //获得从那个派生类中调用

}

}

class ChildClass extends ParentClass{

static $property = 'Child value';

}

var_dump( ChildClass::getProperty() ); //获得扩展中最终值 Child value

var_dump( ChildClass::getCallClass() ); //获得扩展中从那个派生类调用 ChildClass

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: