搜尋

首頁  >  問答  >  主體

php直接用類別名稱呼叫靜態方法會不會觸發類別或父類別的建構子?

如題,php直接用類別名稱呼叫靜態方法,兩個問題:

1 會呼叫目前類別的建構子嗎?

2 會呼叫目前類別的父類別的建構子嗎?

淡淡烟草味淡淡烟草味2778 天前1482

全部回覆(3)我來回復

  • 欧阳克

    欧阳克2017-07-07 10:36:10

    你應該動手測試一下,瀏覽器是最好的老師
    實例一:
    class A{

    function __construct(){echo"A::构造函数";}
    static function myFun(){echo "你好,很高兴为你答题!";}

    }
    A::myFun();
    ?>
    實例二:
    class A{

    function __construct(){echo"A::构造函数";}

    }
    class B extends A{

    static function myFun(){echo "你好,很高兴为你答题!";}

    }
    B::myFun();
    ?>

    回覆
    0
  • 给我你的怀抱

    给我你的怀抱2017-07-07 10:36:10

    1.不會
    2.不會

    建構方法只在實例化時調用,靜態方法沒有實例生成,不會調用建構方法

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-07-07 10:36:10

    不會的,只要在一個類別被實例化的時候才會呼叫其建構方法,靜態方法是儲存在靜態程式碼區的,是隨著類別的載入而被載入進來的。

    回覆
    0
  • 取消回覆