Nachdem ich etwas über Java gelernt habe, möchte ich über statische Modifikatoren schreiben. Dieser Artikel ist der Artikel zum 20. Tag von SLP_KBIT Part 2 Adventskalender 2016 - Qiita.
Bitte weisen Sie auf Fehler hin.
Einige Benutzer verwenden häufig statische Methoden, da statische Methoden direkt aus der Klasse aufgerufen werden können, ohne eine Instanz zu erstellen. Solche Leute können "statischer Onkel" genannt werden oder nicht.
Wenn Sie einer Methode oder Elementvariablen einen statischen Modifikator hinzufügen, wird dieser zu einer statischen Methode oder statischen Variablen. Was sich mit dem statischen Modifikator ändert, ist, dass Sie ohne neue auf die Methoden- und Mitgliedsvariablen zugreifen können. Mit anderen Worten, statisch ist ・ Beim Definieren einer gemeinsamen Methode -Wenn Sie gemeinsame Eigenschaften definieren ・ Wenn Sie gemeinsame Eigenschaften für mehrere Klassen verwenden möchten Es ist ein Modifikator für.
Dafür gibt es verschiedene Gründe, aber beispielsweise wirken sich statische Methoden und Variablen auf alles aus, auf das an anderer Stelle verwiesen wird, wenn der Wert der Variablen an einer Stelle geändert wird. Daher kann der Missbrauch von statischer Aufladung verwirrend sein.
Lassen Sie uns das erklären, während wir uns den Code ansehen.
Human.java
public class Human {
private String name;
private int satiety; //Sättigung
public Human(String name, int satiety) {
this.name = name;
this.satiety = satiety;
}
public void eat(int amountfood) {
this.satiety += amountfood;
}
}
Der obige Code ist eine menschliche Klasse zum Erstellen eines menschlichen Objekts. Diese Klasse verfügt über zwei Eigenschaften und zwei Methoden, die alle nicht statische Eigenschaften und Methoden sind. Nicht statische Eigenschaftsmethoden sind instanzspezifisch. Der "Name" ist für die Instanz eindeutig, da nicht "Menschen" einen gemeinsamen Namen haben, sondern jeder "Einzelne" ihn hat. Darüber hinaus werden "Hunger" und "Essaktion" von jeder Person einzeln durchgeführt und durchgeführt, sodass sie für die jeweilige Instanz einzigartig sind.
Fügen wir nun der Klasse Human eine statische Eigenschaft hinzu.
Human.java
public class Human {
static int count_Human = 0;
private String name;
private int satiety; //Sättigung
Human(String name, int satiety) {
this.name = name;
this.satiety = satiety;
count_Human++;
}
public void eat(int amountfood) {
this.satiety += amountfood;
}
}
Die statische Eigenschaft "Anzahl der Personen" wurde hinzugefügt. Wenn die Human-Methode aufgerufen wird, erhöht sie die "Anzahl der Personen". Warum ist die "Anzahl der Personen" statisch? Dies liegt daran, dass "Anzahl der Personen" eine klassenspezifische Eigenschaft ist, keine instanzspezifische. Was ist der "Name" von "Mensch"? Ich verstehe nicht. Weil der "Name" zum "Individuum" gehört. Was ist dann die "Anzahl der Menschen" von "Menschen"? Sie können antworten, wenn Sie gefragt werden. Weil "Anzahl der Menschen" eine Eigenschaft der "menschlichen" Klasse ist. Verwenden Sie auf diese Weise static, wenn Sie klassenspezifische Eigenschaften und Methoden erstellen möchten.
Statisch ist nützlich, aber Missbrauch kann verwirrend sein, wenn die Werte nicht übereinstimmen oder Sie nicht wissen, welchen Code Sie geschrieben haben. Also, lasst uns statisch gut nutzen und unser Bestes tun, um kein statischer Onkel zu werden.
Quote: [Java] Was ist statisch?
Recommended Posts