如何在静态方法中使用非静态变量
关于静态方法和静态变量:
1)static方法中不能直接使用非静态成员,因为非静态成员与实例相关,通过实例化间接使用
2)static方法中不能用this(与实例相关)
3)非static方法中可以使用static成员
如何在静态方法中使用非静态变量?实例:
<?php
class abc{
public $count=8;
function __construct(){
$this->count++;
}
static function getCount(){
$b=new abc();
return $b->count;
}
}
$c=new abc();
$b=new abc();
echo $b->getCount();
?>
在静态方法getCount()中, 创建了一个新变量$b=new abc()初始化类,然后再使用类的非静态变量就可以了。
评论 (0)