Heim > Artikel > Backend-Entwicklung > Statische Variablen in PHP und Java
Da statische Mitglieder beim ersten Laden der Klasse erstellt werden, kann auf statische Mitglieder über den Klassennamen zugegriffen werden, ohne dass ein Objekt außerhalb der Klasse erforderlich ist. Statische Mitglieder werden von jeder Instanz dieser Klasse beanstandet. Kann unsere PHP-Sprache verwenden Greifen Objekte auf statische Mitglieder in der Klasse zu?
Statische Mitglieder sind nicht in jedem Objekt vorhanden, aber jedes Objekt kann gemeinsam genutzt werden. Wenn wir also Objekte verwenden, um auf Mitglieder zuzugreifen, gibt es keine solche Attributdefinition und auf statische Mitglieder kann nicht mithilfe von Objekten zugegriffen werden Andere objektorientierte Sprachen,
Java kann Objekte verwenden, um auf statische Mitglieder zuzugreifen
Statische Methoden in einer Klasse können nur auf statische Attribute der Klasse zugreifen, in der Klasse können statische Methoden nicht auf nichtstatische zugreifen Der Grund dafür ist sehr einfach: Wenn wir in der Methode dieser Klasse auf andere Mitglieder dieser Klasse zugreifen möchten, müssen wir die $this-Referenz verwenden, und der $this-Referenzzeiger stellt den Aufruf dar Bei dieser Methode haben wir gesagt, dass statische Methoden nicht mit Objekten aufgerufen werden, sondern über Klassennamen, sodass es überhaupt kein Objekt gibt und es keinen Verweis auf $this gibt. Ohne den Verweis auf $this kann nicht darauf zugegriffen werden. Nicht statische Mitglieder in der Klasse, und da auf statische Mitglieder in der Klasse ohne Objekte zugegriffen werden kann, können die statischen Methoden in der Klasse nur auf die statischen Eigenschaften der Klasse zugreifen, da $this nicht vorhanden ist und auf andere Mitglieder in der Klasse zugegriffen werden kann Methode Wir verwenden eine spezielle Klasse „self“ für statische Mitglieder; self ähnelt $this, außer dass self die Klasse darstellt, in der sich diese statische Methode befindet. In einer statischen Methode können Sie also den „Klassennamen“ der Klasse verwenden, in der sich die Methode befindet, oder Sie können „self“ verwenden, um auf andere statische Mitglieder zuzugreifen. Wenn keine besonderen Umstände vorliegen, verwenden wir normalerweise Letzteres ist „self::member attribute“ „ Weg.