【发布时间】:2015-07-08 22:07:26
【问题描述】:
我想这个问题更适合语言极客。 我有以下课程:
<?php
abstract class ScopeFactory
{
public static function doStuff()
{
}
}
现在,我可以像这样调用这个函数了:
ScopeFactory::doStuff()
这很愉快。我一直认为abstract 类不能直接使用——它们必须由具体类实现才能调用。
我对@987654325@ 的印象是它不需要实例 即可调用。
有人可以向我解释为什么这是合法的,是否应该合法?我很好奇更详细的细节。
【问题讨论】:
-
是的,静态方法没有存储在与类的实例相同的位置(实例!= 声明)。这将为您提供线索:stackoverflow.com/questions/17407203/…