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.
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
}
}
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.
Es gibt zwei Möglichkeiten, eine Methode in einer Klasse aufzurufen.
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.
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.
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