Löst der direkte Aufruf einer statischen Methode mithilfe des Klassennamens in PHP den Konstruktor der Klasse oder der übergeordneten Klasse aus?
淡淡烟草味
淡淡烟草味 2017-07-07 10:34:10
0
3
1386

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?

淡淡烟草味
淡淡烟草味

Antworte allen(3)
学霸

你应该动手测试一下,浏览器是最好的老师
实例一:
<?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();
?>

给我你的怀抱

1.不会
2.不会

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

伊谢尔伦

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

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!