鍍金池/ 問答/PHP/ PHP類的靜態(tài)變量和靜態(tài)方法

PHP類的靜態(tài)變量和靜態(tài)方法

為什么在類外用對象可以訪問靜態(tài)方法,但不能訪問靜態(tài)變量

class Test
{
    public static $num = 100;
    public static function abc()
    {
        echo '靜態(tài)';
    }
}
$t = new Test();
$t->abc();
// 提示notice
echo $t->num;

感謝您的幫助

回答
編輯回答
詆毀你

圖片描述

2018年6月25日 15:52
編輯回答
北城荒

echo $t::$num;

2018年6月28日 17:27
編輯回答
青瓷

類的靜態(tài)成員屬性和靜態(tài)成員方法要通過 類名::[屬性名/方法名]訪問 。類的實例化對象可以通過 self::[屬性名/方法名]

從我的理解來看,靜態(tài)成員是 類的,不是對象的,所以沒辦法通過對象訪問。實在有需要,可以在對象中添加指定的方法來修改。

2017年2月17日 20:10
編輯回答
夢一場

首先,文檔對這一點有專門明確 鏈接描述
clipboard.png

其次,樓上也已經(jīng)回答了這一點,靜態(tài)屬性屬于類而并不存在于實例化的對象當中,訪問當然會有報錯

2018年1月22日 12:44