可能重複:
PHP: Static and non Static functions and Objects在PHP中,爲什麼我能夠以靜態方式訪問非靜態方法?
在下面的代碼,非靜態()不是一個靜態方法。即使那樣我也能夠在不創建對象的情況下(以靜態方式)訪問它。任何人都可以幫助我理解,因爲在Java等其他語言中這是不可能的。
<?php
class MyClass
{
function nonStatic() {
echo "This can be printed";
}
}
MyClass::nonStatic(); // This can be printed
因爲面向對象的概念被鎖定在PHP上作爲事後的想法?嚴重的是,PHP不是OOP研究的模型。 – DGM
只要不包含實例引用('$ this'),就可以靜態調用它。不知道你是否會在'E_STRICT'下面收到警告(我希望你會這麼做)。 –
我不認爲這是重複的,因爲這個問題至少包含更好的解釋 –