Überprüfen Sie das statische und öffentliche Verhalten in Java-Methoden

Hintergrund

Hinweis

――Aus "wann zu verwenden"

Nur eine Methode

Dies ist die einfachste Form Java verfügt über einen robusten Modifikator für die Hauptmethode, der den Einstieg erschwert.

Calculator.java


package jbasic;

public class Calculator {
	 int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Zeitpunkt, zu dem nur eine Methode verwendet werden kann

Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert
Gleiches Paket ×
Paket ist anders × ×

Seller.java


package jbasic; //Gleiches Paket

public class Seller {
	public static void main(String[] args) {
		Calculator calc = new Calculator();  //Instanzgenerierung
		System.out.println(calc.add(10,5));  //OK!
	}
}

Seller2.java


package jbasic; //Gleiches Paket

public class Seller2 {
	public static void main(String[] args) {
        //Keine Instanziierung
	    System.out.println(Calculator.add(10,5));  //Werden Sie wütend, wenn Sie nicht statisch auf nicht statische Methoden verweisen
	}
}

statische Methode

Damit können Sie die Methode treffen, ohne sie zu instanziieren.

Calculator.java


package jbasic;

public class Calculator {
	 static int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Zeitpunkt, zu dem statische Methoden verwendet werden können

Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert
Gleiches Paket
Paket ist anders × ×

Seller2.java


package jbasic; //Gleiches Paket

public class Seller2 {
	public static void main(String[] args) {
        //Keine Instanziierung
		System.out.println(Calculator.add(10,5));  //OK!
	}
}

Robot.java


package jmaster; //Anderes Paket

public class Robot {
	public static void main(String[] args) {
		System.out.println(Calculator.add(10,5));  //Wütend werden, um die Klasse öffentlich zu machen
	}
}

öffentliche statische Methode

Wenn Sie public hinzufügen, können Sie die Methode aus der Klasse anderer Pakete verwenden.

Calculator.java


package jbasic;

public class Calculator {
	 public static int add(int number1, int number2) {
		int result = number1 + number2;
		return result;
	}
}

Wenn die öffentliche statische Methode verwendet werden kann

Eine Instanz der Klasse, in die die Methode geschrieben wurde, wurde erstellt Die Klasse, in die die Methode geschrieben wurde, wurde nicht instanziiert
Gleiches Paket
Paket ist anders

Robot.java


package jmaster; //Anderes Paket

import jbasic.Calculator; //Klassenimport erforderlich

public class Robot {
	public static void main(String[] args) {
		System.out.println(Calculator.add(10,5));  //OK!
	}
}

Ist das nicht alles öffentlich statisch?

--Static-Methode kann kein Instanzfeld verwenden ――Wenn es öffentlich ist, kann es seltsam verwendet werden und es kann ein Problem sein (ich verstehe, dass ich die tatsächlichen schädlichen Auswirkungen nicht verstehe)

Recommended Posts

Überprüfen Sie das statische und öffentliche Verhalten in Java-Methoden
Informationen zu statischen und nicht statischen Java-Methoden
Definieren Sie abstrakte Methoden in Java enum und schreiben Sie deren Verhalten
[Java] Unterschied zwischen statischem final und final in Mitgliedsvariablen
[Java] Stapelbereich und statischer Bereich
[Java] Generics-Klasse und Generics-Methode
Überprüfen Sie die https-Verbindung mit Java
Java-Methoden und Methodenüberladungen
Java abstrakte Methoden und Klassen
Verspotten Sie statische Methoden in Mockito 3.4
Überprüfen Sie das Verhalten von getOne-, findById- und Abfragemethoden mit Spring Boot + Spring Data JPA
Denken Sie über die Unterschiede zwischen Funktionen und Methoden nach (in Java)
Beispiel für Codierung und Decodierung in Java
StringBuffer- und StringBuilder-Klasse in Java
Überprüfen Sie die Java-Parameter in Kubernetes-Pods
Java 8 studieren (StaticIF und Standardmethode)
Verstehe gleich und hashCode in Java
Java Generics (definiert Klassen und Methoden)
Hallo Welt in Java und Gradle
Unterschied zwischen final und Immutable in Java
Java statisch
JAVA Learning History Final Modifier und Static Modifier
Java-Programmierung (Klassen und Instanzen, Hauptmethoden)
Java-Methoden
Vergleich der Thread-Implementierungsmethoden in Java und der Lambda-Ausdrucksmethode
JAVA lernen Geschichte abstrakte Klassen und Methoden
Java-Programmierung (statische Klausel und "Klassenvariablen")
Unterschied zwischen Arrylist und verknüpfter Liste in Java
Programmieren Sie PDF-Kopf- und Fußzeilen in Java
Lernen Sie Flyweight-Muster und ConcurrentHashMap in Java
Die Richtung von Java in "C ++ Design and Evolution"
Von Java nach C und von C nach Java in Android Studio
Lesen und Schreiben von GZIP-Dateien in Java
Unterschied zwischen int und Integer in Java
Diskriminierung von Enum in Java 7 und höher
Erkennen Sie ähnliche Videos in Java und OpenCV Version 2
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
Parallele und parallele Verarbeitung in verschiedenen Sprachen (Java Edition)
Unterschied zwischen next () und nextLine () in Java Scanner
[Swift vs Java] Lassen Sie uns statisch und endgültig verstehen
Unterschiede beim Schreiben von Java-, C # - und Javascript-Klassen
Erfassen und speichern Sie die Selen-Installation in Java
Erkennen Sie ähnliche Videos in Java und OpenCV Version 3
[Java] Verstehe in 10 Minuten! Assoziatives Array und HashMap
Unterscheiden Sie in Java zwischen positiven und negativen Zahlen
Java fügt Wasserzeichen in Word-Dokumenten hinzu und entfernt sie
Erkennen Sie ähnliche Videos in Java und OpenCV Version 1
Repräsentiert "nächster Tag" und "vorheriger Tag" in Java / Android
Fragen in Java-Ausnahmebehandlung werfen und versuchen-fangen
Laden Sie Notizen in Java auf S3 hoch und laden Sie sie herunter
Verschlüsseln / Entschlüsseln mit AES256 in PHP und Java
Generieren Sie OffsetDateTime aus Clock und LocalDateTime in Java
So greifen Sie auf Java Private-Methoden und -Felder zu
Java-Klassenmethoden
Statische Java-Geschichte
Partisierung in Java
Java-Versionsprüfung