suchen
HeimJavajavaLernprogrammJava-Grundlagen-Einführungsaufsatz (8) JavaSE-Version - statisch statisch

Objektorientiert (2)

dies: stellt das Objekt dar. Welches Objekt stellt es dar? aktuelles Objekt.

Wenn Mitgliedsvariablen und lokale Variablen denselben Namen haben, können Sie das Schlüsselwort this verwenden, um sie zu unterscheiden.

Dies ist ein Verweis auf das Objekt, zu dem die Funktion gehört. (Einfach ausgedrückt: Welches Objekt ruft die Funktion auf, in der sich dieses befindet, dies stellt dieses Objekt dar.)

Dies kann auch verwendet werden, um andere Konstruktoren im Konstruktor aufzurufen. Hinweis: Es kann nur in der ersten Zeile des Konstruktors definiert werden. Weil zuerst die Initialisierungsaktion durchgeführt werden muss.

Zum Beispiel: person(String name){this.name = name;}

person(String name,int age){this(name);this.age = age;}

Im Allgemeinen werden Objekte dieser Klasse in Objekten dieser Klasse verwendet, und dies wird normalerweise verwendet.

static:

Funktionen: 1.static ist ein Modifikator, der zum Ändern von Mitgliedern verwendet wird.

2. Durch statische Elemente geänderte Mitglieder werden von allen Objekten gemeinsam genutzt.

3. Static existiert vor Objekten, da statische Member bereits vorhanden sind, wenn die Klasse geladen wird.

4. Durch statische Änderungen geänderte Mitglieder verfügen über eine zusätzliche Aufrufmethode, dh sie können direkt über den Klassennamen aufgerufen werden, z. B.: Klassenname.Mitgliedsvariable.

5. Die durch statische Daten geänderten Daten sind gemeinsam genutzte Daten, und die im Objekt gespeicherten zeitspezifischen Daten sind es.

Hinweis: Mitgliedsvariablen werden auch als Instanzvariablen bezeichnet. Durch statische Variablen geänderte Variablen werden als statische Variablen oder Klassenvariablen bezeichnet.

Der Unterschied zwischen Mitgliedsvariablen und statischen Variablen:

1. Die Lebenszyklen der beiden Variablen sind unterschiedlich.

Mitgliedsvariablen existieren beim Erstellen des Objekts und werden recycelt und freigegeben, wenn das Objekt recycelt wird.

Statische Variablen existieren beim Laden der Klasse und verschwinden mit dem Verschwinden des Objekts Klasse.

2. Die Aufrufmethoden sind unterschiedlich.

Mitgliedsvariablen können nur von Objekten aufgerufen werden.

Statische Variablen können von Objekten und Klassennamen aufgerufen werden (empfohlen).

3. Die Aliase sind unterschiedlich.

Mitgliedsvariablen werden Instanzvariablen genannt;

statische Variablen werden Klassenvariablen genannt.

4. Die Datenspeicherorte sind unterschiedlich.

Mitgliedsvariablendaten werden im Objekt im Heapspeicher gespeichert und werden daher auch als objektspezifische Daten bezeichnet.

Statische Variablendaten werden im statischen Bereich des Methodenbereichs (gemeinsam genutzter Datenbereich) gespeichert und werden daher auch als gemeinsam genutzte Daten des Objekts bezeichnet.

Hinweise zur statischen Verwendung:

1. Statische Methoden können nur auf statische Mitglieder zugreifen. (Nicht statisch kann sowohl auf statisch als auch nicht statisch zugreifen.) (Hinweis: Beachten Sie, dass statische Methoden im Kontext derselben Klasse nur statische Mitglieder dieser Klasse aufrufen können.)

2. Statische Methoden Die this or Super-Schlüsselwörter können in nicht verwendet werden.

3. Die Hauptfunktion ist statisch.

Wann wird statische Aufladung verwendet?

1. Statische Variablen.

Wenn alle Mitgliedsvariablen im Analyseobjekt gleich sind, kann diese Mitgliedsvariable statisch geändert werden.

Solange die Daten im Objekt unterschiedlich sind, müssen die eindeutigen Daten des Objekts im Objekt gespeichert werden und sind nicht statisch.

Wenn es sich um dieselben Daten handelt, muss das Objekt nicht geändert, sondern nur verwendet werden. Es muss nicht im Objekt gespeichert werden und ist als statisch definiert.

2. Statische Funktion.

Unabhängig davon, ob die Funktion statisch geändert wird, ist der einzige Bezugspunkt, ob die Funktion Zugriff auf eindeutige Daten im Objekt hat.

Um es einfach auszudrücken: Sehen Sie sich den Quellcode an und prüfen Sie, ob die Funktion auf nicht statische Mitgliedsvariablen zugreifen muss. Wenn nicht, kann die Funktion als statisch definiert werden.

Natürlich kann diese Funktion auch als nicht statisch definiert werden, aber nicht statisch muss von einem Objekt aufgerufen werden, und es ist sinnlos, ein Objekt nur zum Aufrufen nicht statischer Methoden zu erstellen, ohne auf eindeutige Methoden zuzugreifen Daten.

Besonderheiten der Hauptfunktion:

1. Das Format ist festgelegt 2. Es wird von jvm erkannt und aufgerufen.

Öffentlich: Weil die Berechtigungen am größten sein müssen.

statisch: Wenn Sie kein Objekt benötigen, rufen Sie es einfach direkt mit dem Klassennamen der Hauptfunktion auf.

void: Die Hauptfunktion hat keinen spezifischen Rückgabewert.

main: Funktionsname, kein Schlüsselwort, nur ein fester Name, der von JVM erkannt wird.

String[] args: Dies ist die Parameterliste der Hauptfunktion. Es handelt sich um einen Array-Typ-Parameter und die Elemente sind alle String-Typen. (Kann beim Aufruf der Hauptfunktion übergeben werden, zum Beispiel: java mainDemo xx yy zz ist ein String-Array mit 3 übergebenen Elementen)

Statischer Codeblock, Konstruktionscodeblock, lokaler Codeblock:

Statischer Codeblock: Wird beim Laden der Klasse ausgeführt. Und nur einmal ausgeführt. Funktion: Wird zum Initialisieren der Klasse verwendet.

Konstruktionscodeblock: Wird beim Erstellen des Objekts ausgeführt und beim Erstellen des Objekts mehrmals aufgerufen. Funktion: Kann für alle Objekte initialisiert werden. (Der Unterschied zum Konstruktor: Der Konstruktor führt eine gezielte Initialisierung des entsprechenden Objekts durch. Die Objektinitialisierung des Konstruktionscodeblocks ist universell.)

Die Rolle lokaler Codeblöcke: Begrenzen Sie den Lebenszyklus lokaler Variablen.

Die Aufrufreihenfolge der drei ist wie folgt:

class StaticCode
{
    static int num ;
    //静态代码块 (首先执行)
    static
    {
        num = 10;
//      num *=3;
        System.out.println("hahahah");
    }
    StaticCode(){}
 
    static void show()
    {
        System.out.println(num);
    }
}
 
class Person
{
    private String name;
     
     
 
    {//构造代码块。可以给所有对象进行初始化的。(如有调用对象,即其次调用,与局部代码块视情况而定)
 
        System.out.println("constructor code ");
//      cry();
    }
     
    static
    {
        System.out.println("static code");
    }
     
    Person()//是给对应的对象进行针对性的初始化。 
    {
        name = "baby";
//      cry();
    }
    Person(String name)
    {
        this.name  = name;
//      cry();
    }
    public void cry()
    {
        System.out.println("哇哇");
         
    }
 
    public void speak()
    {
        System.out.println("name:"+name);
    }
 
    static void show()
    {
        System.out.println("show run");
    }
}
 
 
class StaticCodeDemo 
{
    static
    {
//      System.out.println("a"); //先执行
    }
    public static void main(String[] args) 
    {
 
//      Person p = null;
//      p.speak();
 
//      Person.show();
//      Person p1 = new Person();
//      p1.speak();
//      Person p2 = new Person("旺财");
//      p2.speak();
//      new Person();
         
 
//      new StaticCode().show();
//      new StaticCode().show();
//      StaticCode.show();
//      System.out.println("b");    //后执行
    }
}

Das Obige ist der grundlegende Einführungsaufsatz zur JavaSE-Version (8) – statischer Inhalt. Bitte zahlen Sie Achtung auf die chinesische PHP-Website (www.php.cn)!


Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Erklären Sie, wie die JVM als Vermittler zwischen dem Java -Code und dem zugrunde liegenden Betriebssystem fungiert.Erklären Sie, wie die JVM als Vermittler zwischen dem Java -Code und dem zugrunde liegenden Betriebssystem fungiert.Apr 29, 2025 am 12:23 AM

JVM arbeitet mit dem Konvertieren von Java -Code in Maschinencode und Verwaltung von Ressourcen. 1) Ladeklasse: Laden Sie die .class -Datei in den Speicher. 2) Laufzeitdatenbereich: Speicherbereich verwalten. 3) Ausführungs Engine: Ausführungsbytecode interpretieren oder kompilieren. 4) Lokale Methodenschnittstelle: Interagieren Sie mit dem Betriebssystem über JNI.

Erklären Sie die Rolle der Java Virtual Machine (JVM) in der Unabhängigkeit der Plattform von Java.Erklären Sie die Rolle der Java Virtual Machine (JVM) in der Unabhängigkeit der Plattform von Java.Apr 29, 2025 am 12:21 AM

Mit JVM kann Java auf Plattformen rennen. 1) JVM lädt, validiert und führt Bytecode aus. 2) Die Arbeit von JVM umfasst Klassenbelastung, Bytecode -Überprüfung, Interpretationsausführung und Speicherverwaltung. 3) JVM unterstützt erweiterte Funktionen wie dynamisches Klassenbelastung und Reflexion.

Welche Schritte würden Sie unternehmen, um sicherzustellen, dass eine Java -Anwendung in verschiedenen Betriebssystemen korrekt ausgeführt wird?Welche Schritte würden Sie unternehmen, um sicherzustellen, dass eine Java -Anwendung in verschiedenen Betriebssystemen korrekt ausgeführt wird?Apr 29, 2025 am 12:11 AM

Java -Anwendungen können in verschiedenen Betriebssystemen in den folgenden Schritten ausgeführt werden: 1) Verwenden Sie die Datei- oder Pfadeklasse, um Dateipfade zu verarbeiten; 2) Umgebungsvariablen durch system.getenv () einstellen und erhalten; 3) Verwenden Sie Maven oder Gradle, um Abhängigkeiten zu verwalten und zu testen. Die plattformübergreifenden Funktionen von Java beruhen auf der Abstraktionsschicht der JVM, erfordern jedoch eine manuelle Handhabung bestimmter Betriebssystem-spezifischer Funktionen.

Gibt es Bereiche, in denen Java plattformspezifische Konfiguration oder Tuning benötigt?Gibt es Bereiche, in denen Java plattformspezifische Konfiguration oder Tuning benötigt?Apr 29, 2025 am 12:11 AM

Java benötigt eine spezifische Konfiguration und das Tuning auf verschiedenen Plattformen. 1) Passen Sie die JVM -Parameter an, z. B. -xms und -xmx, um die Haufengröße festzulegen. 2) Wählen Sie die entsprechende Strategie für die Müllsammlung, wie z. B. ParallelgC oder G1GC. 3) Konfigurieren Sie die native Bibliothek, um sich an verschiedene Plattformen anzupassen. Diese Maßnahmen können es Java -Anwendungen ermöglichen, in verschiedenen Umgebungen am besten zu funktionieren.

Was sind einige Tools oder Bibliotheken, mit denen Sie plattformspezifische Herausforderungen in der Java-Entwicklung bewältigen können?Was sind einige Tools oder Bibliotheken, mit denen Sie plattformspezifische Herausforderungen in der Java-Entwicklung bewältigen können?Apr 29, 2025 am 12:01 AM

Osgi, Apachecommonslang, JNA und JVMOPTIONSAREEFECTIVEFORHANDLATTLATFORM-Spezifikaldesinjava.1) OsgimanagesDependenciesandisolatesComponents.2) apachecommonslangprovidilityfunctions.3) jnaAllowscallingnativeStivingnativeCallingnativeCode

Wie verwaltet der JVM die Müllsammlung auf verschiedenen Plattformen?Wie verwaltet der JVM die Müllsammlung auf verschiedenen Plattformen?Apr 28, 2025 am 12:23 AM

JvmmanagesGecollectionAcrossplattformseffektivyusingagenerationalApproachandaDaptoosandhardwaredFerces

Warum kann Java -Code auf verschiedenen Betriebssystemen ohne Änderung ausgeführt werden?Warum kann Java -Code auf verschiedenen Betriebssystemen ohne Änderung ausgeführt werden?Apr 28, 2025 am 12:14 AM

Java -Code kann auf verschiedenen Betriebssystemen ohne Änderung ausgeführt werden, da Javas "einmal schreiben, überall rennen" von Java Virtual Machine (JVM) implementiert wird. Als Vermittler zwischen dem kompilierten Java -Bytecode und dem Betriebssystem übersetzt das JVM die Bytecode in bestimmte Maschinenanweisungen, um sicherzustellen, dass das Programm mit installiertem JVM unabhängig auf jeder Plattform ausführen kann.

Beschreiben Sie den Prozess der Erstellung und Ausführung eines Java -Programms, wodurch die Unabhängigkeit der Plattform hervorgehoben wird.Beschreiben Sie den Prozess der Erstellung und Ausführung eines Java -Programms, wodurch die Unabhängigkeit der Plattform hervorgehoben wird.Apr 28, 2025 am 12:08 AM

Die Zusammenstellung und Ausführung von Java -Programmen erreicht die Unabhängigkeit der Plattform über Bytecode und JVM. 1) Schreiben Sie Java -Quellcode und kompilieren Sie ihn in Bytecode. 2) Verwenden Sie JVM, um Bytecode auf einer beliebigen Plattform auszuführen, um sicherzustellen, dass der Code über Plattformen hinweg ausgeführt wird.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor