suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Löst der direkte Aufruf einer statischen Methode mithilfe des Klassennamens in PHP den Konstruktor der Klasse oder der übergeordneten Klasse aus?

Wie der Titel schon sagt, gibt es zwei Probleme, wenn PHP statische Methoden direkt mithilfe von Klassennamen aufruft:

1 Wird der Konstruktor der aktuellen Klasse aufgerufen?

2 Wird der Konstruktor der übergeordneten Klasse der aktuellen Klasse aufgerufen?

淡淡烟草味淡淡烟草味2699 Tage vor1420

Antworte allen(3)Ich werde antworten

  • 欧阳克

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

    你应该动手测试一下,浏览器是最好的老师
    实例一:
    <?php
    class A{

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

    }
    A::myFun();
    ?>
    实例二:
    <?php
    class A{

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

    }
    class B extends A{

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

    }
    B::myFun();
    ?>

    Antwort
    0
  • 给我你的怀抱

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

    1.不会
    2.不会

    构造方法只在实例化时调用,静态方法没有实例生成,不会调用构造方法

    Antwort
    0
  • 伊谢尔伦

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

    不会的,只要在一个类被实例化的时候才会调用其构造方法,静态方法是存储在静态代码区的,是随着类的加载而被加载进来的。

    Antwort
    0
  • StornierenAntwort