1

假设我有这样的课程:

class ClassA{

    var $var = 'a1';
    static $static_var = 'a2';

    function get(){
        return $this->var;
    }

    static function get_static(){
        return self::$static_var;
    }

}

当我调用它时,内存中会发生什么:

$class = new ClassA();
echo $class->get();

当我称之为:

echo ClassA::get_static();

当我创建 ClassA 的实例时,该类的静态成员会发生什么?它会占用更多内存吗?它会忽略静态成员吗​​?

我想在其中保留一堆静态函数,ClassA但我也想创建 ClassA 的实例。我应该将静态成员与动态成员分开吗?

4

1 回答 1

1

我想在 ClassA 中保留一堆静态函数,但我也想创建 ClassA 的实例。我应该将静态成员与动态成员分开吗?

答:静态类成员每个类消耗一次内存。常规类成员每个实例消耗一次内存

于 2013-04-11T01:56:38.383 回答