Statisch: (statischer Modifikator) Der Inhalt der statischen Modifikation in einem objektorientierten Objekt gehört zur Klasse, die nicht direkt dem Objekt angeschlossen ist, sodass die durch statischen Modifikationen modifizierten Elementvariablen im Allgemeinen als Klassiker-Element-Variablen bezeichnet werden und die Methode der statischen Modifikation allgemein als Klassenmethoden bezeichnet wird.
Einstufung:
1. statische Variablen, auch als statische Variablen oder Klassenvariablen bezeichnet. Ein anderer Typ ist eine Variable, die nicht durch statische Instanzvariable modifiziert wird.
2. Die statische Methode, auch als statische Methode oder Klassenmethode bezeichnet, kann statische Variablen in statischen Methoden nicht definieren, und Instanzmethoden können nicht.
3. In einem statischen Block können Sie auf statische Variablen zugreifen und statische Methoden aufrufen.
Anmerkungen:
1. Wenn static nicht von einem Objekt abhängt, gibt es keine dieser Methode.
2. Die statische Methode kann keine nicht statische Methode aufrufen, aber eine nicht statische Methode kann eine statische Methode aufrufen.
3.. Methoden oder Variablen, die durch statische geändert werden, müssen sich nicht auf Objekte für den Zugriff verlassen. Solange die Klasse geladen ist, können sie über den Klassennamen zugegriffen werden.
4. Die statische Methode kann nicht umgeschrieben werden. Wenn die Unterklasse und die übergeordnete Klasse dieselbe statische Methode haben, ist der Standardaufruf die statische Methode der übergeordneten Klasse, und die statische Methode der Subklasse ist verborgen.
5. Statische Blöcke werden im Allgemeinen verwendet, um statische Variablen in Klassen zu initialisieren. Basierend auf dem Inhalt statischer Modifikationen wird dem Prinzip der ersten Definition und der ersten Ausführung befolgt.
6. Wenn häufig Variablen oder Methoden bezeichnet werden, verwenden Sie statische Modifikationen. Verwenden Sie es ansonsten weniger, um Speicherleckage zu vermeiden.
Beispielcode statischer Variablen:
public class test {static int a = 1; // statische Variable int b = 2; // Instanzvariable public static void main (String [] args) {System.out.println (test.a); //System.out.print(a);System.out.println(b); // Die direkte Ausgabevariable B meldet einen Fehlertest t = neuer Test (). // Instance -Objekt system.out.println (TB); // Objektaufrufe Variable}}Beispiel für Code für statische Methoden:
public class test {static int a = 1; // statische Variable int b = 2; // Instanzvariable statische void a () {// statische Methode b (); // Ein Fehler wird gemeldet, die statische Methode kann das nicht-statische Methodensystem nicht aufrufen. //System.out.print(a); }void b () {// Nichtstatische Methode test.a (); //A(); Nichtstatische Methode kann das statische Methode System aufrufen. System.out.println (test.a); //System.out.print(a); }public static void main (String [] args) {test.a (); // a (); b (); // Ein Fehler wird gemeldet, nicht statische Methoden müssen durch einen Instanzobjekt-Test t = new test (); tb ();}}/**kann er umgeschrieben werden*/class Staticson Extends test {// Unterklasse erbt die übergeordnete Klasse void a () {// Ein Fehler wird gemeldet, die statische Methode, die diese. Eine statische Methode der Unterklasse ist streng genommen keine statische Methode der übergeordneten Klasse}}Beispiel für statischen Blockcode:
public class test {int c = 3; static int a = 1; static int b = 2; static {a = 10; b = 20; c = 30; // einen Fehler melden, die Variable im statischen Block muss das statische Variable -System sein. // Führen Sie zuerst die statische Variable aus und führen Sie dann die Instanzvariable aus}} aus Finale: Verständnis als unveränderlich.
Anmerkungen:
1. Finale und statisch werden oft zusammen verwendet.
2. Die durch das endgültigen modifizierten Variablen können nur einmal zugewiesen werden.
3. Die endgültige Methode kann nicht umgeschrieben werden, kann aber überladen werden.
4. Die endgültige Klasse kann nicht vererbt werden.
5. Die beiden Schlüsselwörter endgültig und abstrakt sind entgegengesetzt, und es ist unmöglich, die Klasse gleichzeitig zu ändern. Weil das Finale nicht umgeschrieben werden kann und Abstract neu geschrieben werden muss.
6. Das endgültige Schlüsselwort unterscheidet sich vom endgültigen Schlüsselwort, das für die Ausnahmebehandlung verwendet wird.
7. In den meisten Fällen wird das Finale nicht verwendet, um Methoden und Klassen zu ändern, da sie nicht skalierbar sind.
8. Finale kann in einer bestimmten Umgebung verwendet werden, um die laufende Leistung des Programms zu verbessern und die Struktur des Programms zu optimieren.
Beispiel für Code der endgültigen Variablen und endgültigen Klassen:
public Final Class Test {endgültige statische int a = 1; statisch {a = 10; // einen Fehler melden, kann nur eine Zuordnungsoperation durchgeführt werden}} Klasse Finalson erweitert den Test {// einen Fehler melden, die endgültige Klasse kann nicht vererbt werden}Beispielcode der endgültigen Methode:
public class test {endgültig static int a = 1; endgültige void a () {// endgültige Methode System.out.println (a);}} Klasse Finaltest erweitert den Test {void a () {// Ein Fehler wird gemeldet, die endgültige Methode kann nicht umgeschrieben werden. Zeit/*......*/}