Maison > Questions et réponses > le corps du texte
Comme le titre l'indique, lorsque PHP appelle des méthodes statiques directement en utilisant des noms de classe, il y a deux problèmes :
1 Le constructeur de la classe actuelle sera-t-il appelé ?
2 Le constructeur de la classe parent de la classe actuelle sera-t-il appelé ?
欧阳克2017-07-07 10:36:10
Vous devriez le tester vous-même, le navigateur est le meilleur professeur
Exemple 1 :
<?php
classe A{
function __construct(){echo"A::构造函数";}
static function myFun(){echo "你好,很高兴为你答题!";}
}
A::myFun();
?>
Exemple 2 :
<?php
class A{
function __construct(){echo"A::构造函数";}
}
la classe B étend A{
static function myFun(){echo "你好,很高兴为你答题!";}
}
B::myFun();
?>
给我你的怀抱2017-07-07 10:36:10
1. Non
2. Non
Le constructeur n'est appelé que lors de l'instanciation. Les méthodes statiques ne génèrent pas d'instances et n'appelleront pas le constructeur
.伊谢尔伦2017-07-07 10:36:10
Non, la méthode constructeur ne sera appelée que lorsqu'une classe est instanciée. Les méthodes statiques sont stockées dans la zone de code statique et sont chargées au fur et à mesure du chargement de la classe.