Informationen zu statischen und nicht statischen Java-Methoden

Ich werde Java berühren, also vergiss es nicht (wenn du einen Fehler machst, würde ich es begrüßen, wenn du einen Kommentar abgeben könntest) Wenn Sie mit statischen und nicht statischen Methoden nicht vertraut sind, nur als Referenz ...

Wenn Sie in erster Linie ein Anfänger sind, warum nicht der Magie als Magie statisch hinzufügen? Ich habe die Bedeutung nicht verstanden und vorerst geschrieben! Lol Schauen Sie sich zuerst die beiden folgenden Codes an.

-Statische und nicht statische Methoden

1. statische Methode

A.java


class A {
    public static void main(String[] args){
        calc(); //Rufen Sie die Berechnungsmethode auf
    }
    
    static void calc(){ //calc ist eine statische Methode
        //Berechnungsverarbeitung
    }
}

2. Nicht statische Methode

A.java


class A {
    public static void main(String[] args){
        calc(); //Rufen Sie die Berechnungsmethode auf
    }
    
    void calc(){ //calc ist eine nicht statische Methode
        //Berechnungsverarbeitung
    }
}

Beide Programme versuchen, die calc-Methode von der Hauptmethode aufzurufen. Wenn das Programm jedoch die falsche statische Aufladung verwendet, wird es kompiliert. "Nicht statische Methoden können nicht aus einem statischen Kontext heraus referenziert werden" Ich bekomme den Fehler.

Warum bekomme ich so einen Fehler? ** Die statische Methode (main) kann nicht direkt auf die nicht statische Methode (calc) in derselben Klasse (A) zugreifen. </ font> ** Weil es so sein soll.

Nun wollen wir sehen, wie Sie Methoden in derselben Klasse aufrufen können.

-Wie rufe ich eine Methode auf?

Es gibt zwei Möglichkeiten, eine Methode in einer Klasse aufzurufen.

1. Fügen Sie der Methode static hinzu und führen Sie sie aus (statische Methode)

Dies ist wie in [1. statische Methode] oben beschrieben. Wenn Sie einer Methode statisch hinzufügen, handelt es sich um eine gemeinsam genutzte Methode innerhalb der Klasse, sodass von anderen Methoden aus auf sie zugegriffen werden kann.

2. Erstellen Sie eine Instanz der Klasse und führen Sie sie über die Instanz aus (nicht statische Methode).

Es ist schwer in Worten zu verstehen, deshalb werde ich es auch im Code zeigen.

A.java


class A {
    public static void main(String[] args){
        A a = new A(); //Erstellen Sie eine Instanz mit dem Namen a
        a.calc(); //Rufen Sie die calc-Methode der Instanz a auf
    }
    
    void calc(){ //calc ist eine nicht statische Methode
        //Berechnungsverarbeitung
    }
}

Ist es nicht möglich, über statische Methoden auf nicht statische Methoden in derselben Klasse zuzugreifen? Einige Leute haben vielleicht gedacht. Diese Methode ruft die ** calc-Methode über die ** Instanz a auf, indem in der Hauptmethode eine Instanz a der Klasse A erstellt wird. Daher greifen Sie nicht direkt darauf zu, sondern auf ** indirekt **, sodass Sie es aufrufen können.

· Am Ende

Ich wäre Ihnen dankbar, wenn Sie statische und nicht statische Methoden irgendwie verstehen könnten. Vielleicht liegt der Grund für Java-Anfänger, beim Schreiben einer Methode statisch zu schreiben, darin, einen Fehler beim Aufrufen der Hauptmethode zu vermeiden! Lol statisch kann an eine Variable angehängt werden. Ich werde das nächste Mal einen Artikel über statische Variablen schreiben.

Danke, dass Sie bis zum Ende für mich gelesen haben. Natsu.

Recommended Posts

Informationen zu statischen und nicht statischen Java-Methoden
Überprüfen Sie das statische und öffentliche Verhalten in Java-Methoden
[Java] Stapelbereich und statischer Bereich
[Java] Generics-Klasse und Generics-Methode
[Java] Über String und StringBuilder
Über die Zupfmethode und die ID-Methode
Java-Methoden und Methodenüberladungen
Java-Klasse Variable Klassenmethode
Über Java-Paket und Import
Java abstrakte Methoden und Klassen
Java-Methoden
Java statisch
Über Biocontainer fastqc und Java
Informationen zu den Methoden equals () und hashcode ()
[Java-Anfänger] Über Abstraktion und Schnittstelle
Java-Methoden
Über statische
Java 8 studieren (StaticIF und Standardmethode)
Java Generics (definiert Klassen und Methoden)
Denken Sie über die Unterschiede zwischen Funktionen und Methoden nach (in Java)
Informationen zu primitiven Java-Typen und Referenztypen
Dies und das über Base64 (Java)
JAVA Learning History Final Modifier und Static Modifier
Java-Programmierung (Klassen und Instanzen, Hauptmethoden)
[Über JDBC, das Java und SQL verbindet]
JAVA lernen Geschichte abstrakte Klassen und Methoden
Java-Programmierung (statische Klausel und "Klassenvariablen")
Über die Java-Schnittstelle
Java-Klassenmethoden
[Java] Informationen zu Java 12-Funktionen
Statische Java-Geschichte
[Java] Über Arrays
Über singuläre Methoden
Etwas über Java
Wo ist mit Java?
Über die Methode von HttpServlet ()
Informationen zu Java-Funktionen
Funktionen und Methoden
Über Java-Threads
[Java] -Schnittstelle
Über die Java-Klasse
Java und JavaScript
Informationen zu Java-Arrays
XXE und Java
Über Java-Vererbung
Über Schnittstelle, Java-Schnittstelle
Über Java Var
Über Ruby-Methoden
Über Java Literal
Informationen zu Java-Befehlen
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
Informationen zu Java-Datentypen (insbesondere primitiven Typen) und Literalen
[Swift vs Java] Lassen Sie uns statisch und endgültig verstehen
So greifen Sie auf Java Private-Methoden und -Felder zu
Informationen zur Java-Protokollausgabe
Informationen zur Java-Funktionsschnittstelle
Java, über zweidimensionales Array
Über die Klassenteilung (Java)
Über [Java] [StreamAPI] allMatch ()