Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Eigenschaften und Verwendung des Schlüsselworts static in PHP
→statisch: statisch
Verwendung: ist ein Modifikator, der zum Ändern von Mitgliedern (Mitgliedsvariablen, Mitgliedsfunktionen )
class Person { String country = "cn"; }/* pro Instanz verwendet wird. Erstellen Sie a Personenobjekt, und jedes Objekt hat ein Land im Heapspeicher. Nach dem Hinzufügen von Statik gibt es nur ein statisches Land im Speicher, das von anderen Objekten direkt aufgerufen werden kann, wodurch Speicherplatz gespart werden kann. Wenn ein Mitglied statisch geändert wird, kann es nicht nur vom Objekt aufgerufen werden, sondern auch direkt vom Klassennamen. */Spezielle Inhalte werden mit Objekten gespeichert Zum Beispiel hat in der Personenklasse jeder Chinese seinen eigenen Namen und die Nationalität ist dieselbe Chinesisch, sodass das Land definiert werden kann als static und name Nicht erforderlich. →statische Eigenschaften1. Wird geladen, wenn die Klasse geladen wirdDas heißt: Statische Eigenschaften verschwinden, wenn die Klasse verschwindet, was darauf hinweist, dass ihr
Lebenszyklus vorliegt Am längsten
2. Priorisiert die Objektexistenz3. Wird von allen Objekten geteiltKann direkt über den Klassennamen aufgerufen werden 🎜>→Der Unterschied zwischen der Instanzvariablen „int age“ (Mitgliedsvariable) und der Klassenvariable „statisch int age“ (statische Mitgliedsvariable)
1 Speicherzweck
Instanzvariable ist vorhanden Heap-Speicher, während das Objekt erstellt wird
Klassenvariablen sind im Methodenbereich vorhanden, während die Klasse geladen wird
2. Lebenszyklus
Instanzvariablen folgen dem Objekt. Verschwinden, wenn die Klasse verschwindet
Klassenvariablen haben den längsten Lebenszyklus und verschwinden, wenn die Klasse verschwindet
→Statische Verwendung
HinweiseStatische Methoden können nur auf statische Methoden zugreifen Mitglieder
2. Dies kann nicht in statischen Methoden definiert werden
, weil static der Existenz von Objekten vorausgeht, sodass dieses
3 . Die Hauptfunktion ist statisch →Vor- und Nachteile von statisch Vorteile: Speichern Sie die Daten des Objekts in einem separaten Bereich, wodurch Platz gespart wird, und es ist nicht erforderlich, sie in jedem zu speichern Objekt Eine Kopie von kann direkt über den Klassennamen (Person.country) aufgerufen werden. Nachteile: Der Lebenszyklus ist zu lang. Der Zugang ist begrenzt. (Es kann nur auf statisch zugegriffen werden) → Wann sollte statisch verwendet werden? Wir müssen von zwei Aspekten ausgehen Da der Inhalt der statischen Änderung Mitgliedsvariablen undMitgliedsmethoden
(Funktion) umfasstWann ist Statik zu definieren? Variablen (Klassenvariablen)?
Wenn gemeinsam genutzte Daten in einem Objekt angezeigt werden, werden die Daten statisch geändert. Die eindeutigen Daten im Objekt müssen als nicht statisch definiert sein und im Heap-Speicher vorhanden sein. Wann definieren Sie statische Funktionen? Wenn innerhalb der Funktion nicht auf nicht statische Daten (objektspezifische Daten) zugegriffen wird, kann die Funktion als statisch definiert werden. →Statische AnwendungJede Anwendung hat gemeinsame Funktionen Diese Funktionen können unabhängig voneinander extrahiert und gepackt werden zur Wiederverwendung. Definieren Sie alle Mitgliedsmethoden als statisch und rufen Sie sie direkt mit dem Klassennamen auf. Es wird einen Standard-Konstruktor
in einer Klasse geben. Die Berechtigungen dieses Konstruktors stimmen mit der Klasse überein, zu der er gehört Format: statisch{ Ausführungsanweisungen in statischen Codeblöcken;}//Funktionen: Wie die Die Klasse wird geladen und die Ausführung wird nur einmal ausgeführt. Wird zum Initialisieren der Klasse verwendet. Das folgende Beispiel:Ladesequenz des statischen Codeblocks-->Konstruktionscodeblock-->Konstruktorfunktion
class StaticCode { static { System,out.println("a"); } }ObjektinitialisierungsprozessPerson p = neue Person("zhangsan",20);1. Weil new Person.class verwendet. Daher wird die Datei Person.class zuerst gefunden und in den Speicher geladen. 2. Führen Sie den statischen Codeblock (statischer Codeblock) in der Klasse aus, falls vorhanden, initialisieren Sie die Klasse Person.class 3. Öffnen Sie Speicherplatz im Heap-Speicher, nicht Speicheradresse 4. Erstellen Sie die eindeutigen
-Attribute
im Heap-Speicher und führen Sie die Standardinitialisierung durch5. Initialisieren Sie die Attribute explizit
6. Initialisieren das Objekt mit dem Konstruktionscodeblock 7. Initialisieren Sie das Objekt mit dem entsprechenden Konstruktor 8. Zahlen Sie die Speicheradresse an die p-Variable im StapelspeicherDas obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Eigenschaften und Verwendung des Schlüsselworts static in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!