Dieser Artikel analysiert kurz die Verwendung von statischer Java und hauptsächlich fünf Aspekte: statische Mitgliedsvariablen, statische Methoden, statische Blöcke, statische interne Klassen und statische Pakete.
Lassen Sie uns zunächst über den Unterschied zwischen statischen Objekten und nicht statischen Objekten in einer Tabelle sprechen:
| Statische Objekte | Nichtstatische Objekte | |
| Zuschreibung | Klassen haben | Jede Instanz der Klasse ist unabhängig davon im Besitz |
| Speicherzuweisung | Im Speicherraum behoben | Affiliate -Klassenzuweisung |
| Zuweisung der Raumreihenfolge | Priorisieren Sie die Zuweisung des statischen Objektraums | Die Priorität weist den statischen Objektraum zu, und dasselbe gilt für die Initialisierung |
1 statische Variablen, statische Methoden, statische Blöcke
Statische Objekte und statische Methoden werden mit statischen Schlüsselwörtern für die ursprünglichen Objekte und Methoden dekoriert, was darauf hinweist, dass die Klasse diese direkt aufrufen kann, ohne sie zu instanziieren, bevor sie sie aufrufen. Die Vorteile sind:
1-Die Daten statischer Objekte sind global eindeutig und können die Einzigartigkeit der Daten sicherstellen.
2-Einfach zu zitieren, verwenden Sie einfach den Klassennamen und die Methode (Eigenschaften) direkt, kein Nötiges zu erhalten und festzulegen
Natürlich haben statische Methoden (Variablen, Blöcke) auch entsprechende Einschränkungen:
1-Nein, andere nicht statische Methoden können aufgerufen werden (nur statische Methoden können genannt werden)
2-Zugriff auf statische Daten zugreifen
3-Dieser oder Super kann in keiner Weise verwiesen werden
Beispielcode:
public class staticexercise {public static String sky = "Jeyson"; public static String getMysky (String Sky) {return Sky;} static {System.out.println ("Dies ist der Inhalt des statischen Blocks-"); Objekte sind global einzigartig und es kann sichergestellt werden, dass die Daten eindeutig sind. * 2-Die Referenz ist bequem. Verwenden Sie einfach den Klassennamen und die Methode, ohne festgelegt zu werden. Die Initialisierungsreihenfolge ist die gleiche* *** statische endgültige modifizierte Mitgliedsvariablen, und Mitgliedsmethoden können als globale Variablen verstanden werden (es gibt kein Konzept globaler Variablen in Java)* *** Einschränkungen statischer Objekte, Methoden und Blöcke:* 1-rufe andere statische Methoden* 2-Only-Zugriff statische Daten* 3-this-this-super* In Anenthalte statischer Objekt-Tests*/@@testpublic or super kann man nicht referenziert werden. Bei einem beliebigen statischen Objekt. teststatic1 () {System.out.println (Sky); System.out.println ("---------------------"); System.out.println (getMysky (Sky)); System.out.println ("---------------------"); 2 statische innere Klasse
Wenn eine Klasse eng mit einer anderen Klasse (externe Klasse) verwandt ist und die Klasse normalerweise nur verwendet wird, wenn eine externe Klasse verwendet wird, kann die Klasse als statische innere Klasse verwendet werden. Dies kann direkt so erzeugt werden, wie die Klasse geladen ist. Sie müssen es nicht instanziieren.
Verwendungsmethode: mit der Klasse geladen und rufen Sie direkte externe Klasse, interne Klasse, statisches Objekt (Methode) auf
Beispielcode:
Klasse statictest {public static String SMS = "zu meinem Himmel"; public static String getsms () {return sms;}/*** Statische innere Klasse**** Verwendungsszenario:*Die innere Klasse ist eng mit der äußeren Klasse verwandt, und diese Klasse wird im Allgemeinen verwendet. Interne Klasse. Statisches Objekt (Methode)*/statische Klasse Innstatic {public static Final String mysky = "My Final Sky";}} @Testpublic void teststatic2 () {System.out.println (statictest.innerstatic.mysky);};};}; 2 statisches Leitfadenpaket
Wenn die Klasse, in der die statische Methode, die Sie verwenden möchten, nicht im gleichen Paket wie die aktuelle Klasse enthalten sind, können Sie das statische Lieferpaket verwenden. Auf diese Weise ist die statische Methode oder Variable, die Sie verwenden möchten, gleichwertig in der Klasse direkt sichtbar, und es müssen nicht den Klassennamen oder die statische Variable aufgerufen werden.
Wie man verwendet:
statischer Paketname importieren.Class Name.static Member Variable (Methode)
Nutzen:
Die importierten statischen Variablen und Methoden sind in dieser Klasse direkt sichtbar und werden direkt verwendet
Schaden:
In gewissem Maße wird die Lesbarkeit des Codes verringert
Codebeispiel:
public class mystaticimportest {public static final int nummer = 55; public static void getMyWords () {System.out.println ("Hallo, dies ist ein Test des statischen Bleipakets");}} importieren statische com.generic.mystaticimportest.number; Static*/public class staticexercise {/*** statisches Bleipaket* *** Verwendungsmethode:* Direkte statische Import entsprechende Variablen und Methoden: (statische Paketname importieren. Variablen sind in dieser Klasse direkt sichtbar und müssen den Klassennamen nicht angebenDas obige ist eine kurze Analyse der Verwendung statischer Schlüsselwörter in Java, die Ihnen vom Herausgeber vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!