static關鍵字用來修飾屬性、方法,稱這些屬性、方法為靜態屬性、靜態方法。
static的方法,只能存取static的屬性,不能類別存取非靜態的屬性。不過呼叫非靜態方法不可以使用this關鍵字呼叫非靜態方法,而必須使用self::關鍵字,且被呼叫的非靜態方法中不能有非靜態變數,一般情況靜態方法盡量不要呼叫非靜態方法。
static的屬性,在記憶體中只有一份,為所有的實例共用。
可以使用self:: 關鍵字存取目前類別的靜態成員。
非靜態方法呼叫靜態變數
<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span><span>function</span><span>display</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>->display(); <span>?></span></code>
靜態方法呼叫靜態變數
<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span>static</span><span><span>function</span><span>display_static</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>::display_static(); <span>?></span></code>
靜態方法 (實際上相當於將非靜態方法在呼叫過程中轉變為靜態方法
來處理了)<code><span><?php</span><span><span>class</span><span>test</span>{</span><span>public</span><span>static</span><span>$pi</span>=<span>3.14</span>; <span>static</span><span><span>function</span><span>display_static</span><span>()</span> {</span><span>return</span><span>self</span>::<span>$pi</span>; } <span><span>function</span><span>display</span><span>()</span> {</span><span>return</span><span>self</span>::display_static(); } } <span>$test</span>=<span>new</span> test(); <span>echo</span><span>'<br/>'</span>.<span>$test</span>->display(); <span>?></span></code>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 以上就介紹了php學習之旅:static變數與方法,包含了靜態方法,靜態屬性,靜態變數方面的內容,希望對PHP教學有興趣的朋友有幫助。