php的静态方法调用有关问题,求大牛解答
程序员文章站
2022-06-02 14:39:30
...
php的静态方法调用问题,求大牛解答
为什么这个用->来调用还是可以出结果呢? 静态的方法不是只能用::来调用吗?
------解决方案--------------------
是谁跟你说不可以的?当然是可以的!
只是你需要注意的是:静态方法中是不能用 $this 的
------解决方案--------------------
可以这样用,不过绕弯了,一般是Hypnotic_Cat::hypnotize( );
------解决方案--------------------
补充一下,静态方法里你就最好别出现 -> 就对了.
至于调用方法嘛,这是很灵活的.
class Cat {
}
class Hypnotic_Cat extends Cat {
// Constructor
function Hypnotic_Cat( ) {
}
// This function must be called statically
public static function hypnotize( ) {
echo ("The cat was hypnotized.");
//return;
}
}
// Hypnotize all cats
//Hypnotic_Cat::hypnotize( );
$hypnotic_cat = new Hypnotic_Cat( );
// Does nothing
$hypnotic_cat->hypnotize( );
?>
为什么这个用->来调用还是可以出结果呢? 静态的方法不是只能用::来调用吗?
------解决方案--------------------
是谁跟你说不可以的?当然是可以的!
只是你需要注意的是:静态方法中是不能用 $this 的
------解决方案--------------------
可以这样用,不过绕弯了,一般是Hypnotic_Cat::hypnotize( );
------解决方案--------------------
补充一下,静态方法里你就最好别出现 -> 就对了.
至于调用方法嘛,这是很灵活的.
相关文章
相关视频