靜態的方法在整個應用程式其間儲存在記憶體中,速度快,但佔用記憶體。 (建議學習:PHP影片教學)
class A { public static string b() { return "Hello"; } }
#用法:
A.b(); //调用方便
動態的方法在先宣告類別實例才能呼叫類別中的方法。
class A { public string b() { return "Hello"; } }
用法:
A a = new a(); a.b();
一般使用頻繁的方法用靜態方法,用的少的方法用動態的。靜態的速度快,佔記憶體。動態的速度相對慢些,但調用完後,立即釋放類,可以節省內存,可以根據自己的需求選擇是用動態方法還是靜態方法。
靜態方法主要的問題就是資料同步的問題。如果你的靜態方法的類別中不保存私有變數那麼什麼問題都不會有的。最好是包要操作的資料全部以參數的方式傳到方法中去
靜態方法是類別方法,呼叫時不需要建立類別實例。
靜態方法是靜態綁定到子類,不是被繼承。
靜態方法修改的是類別的狀態,而物件修改的是各個物件的狀態,這點也是它們重要的區別
#類別的實例化呼叫是在類別的生命週期中存在,當類別沒有了以後,對應的實例也就沒有了,對應的方法也就沒有了,靜態類別不然,只要你引用了那個靜態類別的命名空間,他就會一直存在,直到你退出系統。
以上是php動態方法和靜態方法的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!