回答
靜態意味着它可以在不實例化類訪問公共交通工具。這對常量很有用。
靜態方法需要對對象的狀態沒有影響。除參數外,它們還可以有局部變量。
內從http://php.net/manual/en/language.oop5.static.php
Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as static can not be accessed with an instantiated class object (though a static method can).
public:公共聲明的項目可以隨處訪問。
受保護:受保護的限制訪問繼承和父類 類(以及定義項目的類)。
私人:私人限制僅限定義 該項目的類的可見性。
static:一個靜態變量只存在於本地函數範圍 中,但是當程序執行離開這個範圍時它不會丟失它的值。
final:Final關鍵字可以防止子類通過爲final定義前綴final操作而覆蓋 方法。如果班級本身是 被定義爲最終,那麼它不能被擴展。
瞬態:瞬態變量是一個變量,可能不是 被序列化。
易失性:可能會同時修改多個線程的變量 線程應聲明爲volatile。聲明爲易變的變量 不會被編譯器優化,因爲它們的值可隨時在 處更改。
一些例子...... 當使用static關鍵字,那麼我們就不能使用$這個..
class Foo{
private $foo='private';
private function priv_func(){
echo 'priv_method';
}
public static function ger(){
echo $this->foo;
$this->priv_func();
}
}
//class Zero extends Foo{};
$obj=new Foo;
$obj->ger();
Fatal error: Using $this when not in object context in
您也可以使用'self'來訪問同一個類中的靜態方法和靜態變量。 'self :: priv_func();' – 2017-08-08 10:33:52
我覺得如果這個例子有更多的解釋是真的幫助我,因爲在這個頁面上沒有任何其他的例子。不幸的是,我不太明白你想教我什麼。 – Eoin 2018-03-03 01:27:49
- 1. 公共靜態,公共和靜態方法有什麼區別?
- 2. 公共靜態與靜態公共 - 是否有區別?
- 3. 「公共靜態」還是「靜態公共」?
- 4. 靜態,內部和公共構造函數有什麼區別?
- 5. 靜態和公共positionning
- 6. C#winform:從其他形式訪問公共屬性和靜態和公共屬性之間的區別
- 7. 公共靜態HashTable
- 8. 靜態公共布爾vs公共靜態布爾
- 9. 推薦:「靜態公共」或「公共靜態」
- 10. 單和公共靜態變量的Java
- 11. Silverstripe 3.4定義和公共靜態
- 12. 靜態公共方法和接口
- 13. C#靜態公共方法
- 14. 靜態與公共C#
- 15. 靜態與公共財產
- 16. 公共靜態變量值
- 17. 到公共靜態方法
- 18. JS公共靜態模式
- 19. 靜態庫和共享庫之間的區別?
- 20. Android NDK中靜態庫和共享庫的區別?
- 21. 對象和靜態方法的區別
- 22. 靜態演員和新的區別
- 23. Makefile.am中的靜態和靜態LD_FLAGS之間的區別
- 24. 在公共靜態類中使用公共靜態類時出現異常
- 25. 私人靜態功能與打字稿中的公共靜態功能有什麼區別?
- 26. 靜態變量和靜態變量的區別是什麼?
- 27. 靜態和非靜態內部類的區別?
- 28. 轉到http:服務/靜態和/靜態之間的區別/
- 29. 靜態變量和靜態方法之間的區別
- 30. 最終靜態int和靜態最終int之間的區別?
公共方法和屬性只能訪問類實例化後,並通過被稱爲「 - >」符號。公共靜態方法和屬性可以在不需要實例化類的情況下被訪問,並且可以通過「::」來調用。 – arma 2011-04-03 02:14:27