php中怎樣調用靜態屬性和靜態方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

創新互聯是一家以成都網站建設、網頁設計、品牌設計、軟件運維、網站推廣、小程序App開發等移動開發為一體互聯網公司。已累計為石牌坊等眾行業中小客戶提供優質的互聯網建站和軟件開發服務。
靜態屬性、方法(包括靜態與非靜態)在內存中,只有一個位置(而非靜態屬性,有多少實例化對象,就有多少個屬性)。
實例:
header("content-type:text/html;charset=utf-8");
class Human{
static public $name = "小妹";
public $height = 180;
static public function tell(){
echo self::$name;//靜態方法調用靜態屬性,使用self關鍵詞
//echo $this->height;//錯。靜態方法不能調用非靜態屬性
//因為 $this代表實例化對象,而這里是類,不知道 $this 代表哪個對象
}
public function say(){
echo self::$name . "我說話了";
//普通方法調用靜態屬性,同樣使用self關鍵詞
echo $this->height;
}
}
$p1 = new Human();
$p1->say();
$p1->tell();//對象可以訪問靜態方法
echo $p1::$name;//對象訪問靜態屬性。不能這么訪問$p1->name
//因為靜態屬性的內存位置不在對象里
Human::say();//錯。say()方法有$this時出錯;沒有$this時能出結果
//但php5.4以上會提示
?>總結:
(1)靜態屬性不需要實例化即可調用。因為靜態屬性存放的位置是在類里,調用方法為"類名::屬性名";
(2)靜態方法不需要實例化即可調用。同上
(3)靜態方法不能調用非靜態屬性。因為非靜態屬性需要實例化后,存放在對象里;
(4)靜態方法可以調用非靜態方法,使用 self 關鍵詞。php里,一個方法被self:: 后,它就自動轉變為靜態方法;
感謝各位的閱讀!看完上述內容,你們對php中怎樣調用靜態屬性和靜態方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創新互聯行業資訊頻道。
名稱欄目:php中怎樣調用靜態屬性和靜態方法
網頁地址:http://www.yijiale78.com/article0/ihddoo.html
成都網站建設公司_創新互聯,為您提供微信小程序、域名注冊、響應式網站、做網站、外貿網站建設、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯