[JAVA] Um kein statischer Onkel zu sein

Einführung

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.

Was ist statischer Onkel?

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.

Was ist statisch?

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.

Warum Sie statische Aufladung nicht missbrauchen sollten

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.

Wie soll statisch verwendet werden

Nicht statische Eigenschaftsmethode

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.

Statische Eigenschaftsmethode

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.

Zusammenfassung

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

Um kein statischer Onkel zu sein
Muss Java noch gelernt werden?
Um kein statischer Onkel zu sein
Es scheint ein Wort "de-Java" zu geben.
Minecraft BE Tippe mit einem Holzschwert, um zu springen
Docker-Fehler: Der Dienst muss ein Mapping sein, kein None-Typ.
Suchen Sie eine Switch-Anweisung, die in einen Switch-Ausdruck konvertiert werden kann
Konvertieren Sie ein potenziell null-Array in einen Stream
Eine Sammlung von Mustern, die Sie kennen möchten, um den Code nicht zu komplizieren
Wie hinterlasse ich einen Kommentar?
Übergeben Sie Variablen an Scope.
[Java] Gründe für die Verwendung von statischen
OkHttp3 sollte Singleton sein
20 Entspricht statischen Methodenaufrufen
So schreiben Sie ein benutzerorientiertes Programm (1)
Was ist mit dem Fehler "Kann nicht gelesen werden oder ist keine gültige ZIP-Datei?" Zu tun
So fügen Sie ein Video ein
So erstellen Sie eine Methode
Resultsets next () ist keine "Methode, um festzustellen, ob es ein ResultSet next gibt".
Dateiübertragung in eine virtuelle Umgebung, die auch nach einem Tag nicht gelöst werden konnte: Memorandum