PHP static靜態關鍵字

規則與 JAVA的static基本一致.

PS:

static方法中調用自身使用 self (這點與 objective-C 和 Swift 中的 Self 關鍵字截然不同)
對象方法中調用自身則使用 $this 代表自身當前調用方法的對象.
被static的屬性or方法可以由類直接調用,不必實例化.
static方法調用格式 類名::方法名
對象方法調用格式 對象名->方法

class Car {
    private static $speed = 10;
    
    public static function getSpeed() {
        return self::$speed;
    }
}
echo Car::getSpeed();  //調用靜態方法

靜態方法也可以通過變量來進行動態調用

$func = 'getSpeed';
$className = 'Car';
echo $className::$func();  //動態調用靜態方法

靜態方法中,$this偽變量不允許使用。可以使用self,parent,static在內部調用靜態方法與屬性。

class Car {
   private static $speed = 10;
   public static function getSpeed() {
       return self::$speed;
   }
   public static function speedUp() {
       return self::$speed+=10; 
   }
}
class BigCar extends Car {
   public static function start() {
     parent::speedUp(); 
   }
}
BigCar::start();
echo BigCar::getSpeed();
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,923評論 18 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,765評論 18 399
  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,210評論 30 471
  • 一:java概述:1,JDK:Java Development Kit,java的開發和運行環境,java的開發工...
    ZaneInTheSun閱讀 2,687評論 0 11
  • 二本城市,二流大學,不知道有多少個和我一樣的大學生,因為自己給自己身上貼了太多的標簽,日日夜夜都希望能證明自己。我...
    林小夕xxx閱讀 655評論 9 13