Was sind die Merkmale der Objektorientierung?
Die sogenannte Kapselung besteht darin, objektive Dinge einzukapseln abstrakte Objekte Klasse, und die Klasse kann zulassen, dass ihre eigenen Daten und Methoden nur von vertrauenswürdigen Klassen oder Objekten betrieben werden, und Informationen vor nicht vertrauenswürdigen Klassen verbergen. Die Kapselung ist eines der Merkmale der Objektorientierung und das Hauptmerkmal der Konzepte von Objekten und Klassen. (Empfohlene Studie: Allgemeine Java-Interviewfragen)
Vererbung bedeutet, dass eine Unterklasse die Attribute und Methoden der übergeordneten Klasse erhält. Wenn beispielsweise ein Hund eine Tierart ist, kann man auch sagen, dass er die Eigenschaften des Tieres erbt oder dass der Hund eine Unterklasse des Tieres ist.
Polymorphismus bedeutet, dass eine Methode nur einen Namen, aber viele Formen haben kann, d. h. im Programm können mehrere Methoden mit demselben Namen definiert werden, was durch „eine Schnittstelle, mehrere Methoden“ beschrieben wird ". Sie können Methodenparameter und Typreferenzen übergeben
Fünf Prinzipien: Single-Responsibility-Prinzip SRP Open-Closed-Prinzip OCP-Ersetzungsprinzip LSP-Abhängigkeitsprinzip DIP-Schnittstellentrennungsprinzip ISP
Mitglied Variablen und lokale Variablen Der Unterschied
* A: Verschiedene Positionen in der Klasse
* Mitgliedsvariablen: außerhalb der Methoden in der Klasse
* Lokale Variablen: In der Methodendefinition oder Methodendeklaration
* B: Verschiedene Speicherorte
* Mitgliedsvariablen: Im Heap-Speicher (Mitgliedsvariablen gehören zu Objekten , Objekte in den Heap-Speicher)
* Lokale Variablen: im Stapelspeicher (lokale Variablen gehören zu Methoden, Methoden werden in den Stapelspeicher verschoben)
* C: verschiedene Lebenszyklen
* Mitgliedsvariablen: existieren, wenn das Objekt erstellt wird, und verschwinden, wenn das Objekt verschwindet
* Lokale Variablen: existieren, wenn die Methode aufgerufen wird, und verschwinden, wenn die Methode aufgerufen wird
* D: Verschiedene Initialisierungswerte
* Mitgliedsvariablen: haben Standardinitialisierungswerte
* Lokale Variablen: keine Standardinitialisierungswerte, müssen definiert werden , zugewiesen und kann dann verwendet werden.
Der Unterschied zwischen statischen Variablen und Mitgliedsvariablen
* Statische Variablen werden auch Klassenvariablen genannt
* A: Verschiedene Zugehörigkeiten
* Statische Variablen gehören zu Klassen, daher werden sie auch Klassenvariablen genannt
* Mitgliedsvariablen gehören zu Objekten, daher werden sie auch Instanzvariablen genannt ( Objektvariablen)
* B: Verschiedene Speicherorte
* Statische Variablen werden im statischen Bereich des Methodenbereichs gespeichert
* Mitgliedsvariablen werden im Heap-Speicher gespeichert
* C: Speichererscheinungszeit ist unterschiedlich
* Statische Variablen werden geladen, wenn die Klasse geladen wird, und verschwinden, wenn die Klasse verschwindet
* Mitgliedsvariablen folgen den Exists des Objekts, wenn sie erstellt werden, und verschwinden, wenn das Objekt verschwindet
* D: Verschiedene Aufrufe
* Statische Variablen können aufgerufen werden über Klassennamen oder über Objekte
* Mitgliedsvariablen können nur über Objektnamen aufgerufen werden
Der Unterschied und die Anwendung von this und super
* A: Wofür stehen this und super
* this: repräsentiert die Referenz des aktuellen Objekts, wer auch immer mich anruft, ich werde diese Person repräsentieren
* super: repräsentiert die Referenz der übergeordneten Klasse des aktuellen Objekts
* B: Der Unterschied zwischen this und super
* a: Aufruf von Mitgliedsvariablen
* Dies. Mitgliedsvariablen rufen Mitgliedsvariablen dieser Klasse oder der übergeordneten Klasse auf. * Mitgliedsvariablen rufen die Mitgliedsvariablen der übergeordneten Klasse auf
* this(...) ruft die Konstruktormethode dieser Klasse auf
* super(...) ruft die Konstruktormethode der übergeordneten Klasse auf
* c: ruft die Mitgliedsmethode
* auf. Die Mitgliedsmethode ruft die Mitgliedsmethode dieser Klasse auf. Sie können auch die Methode der übergeordneten Klasse aufrufen
* Die Mitgliedsmethode ruft die Mitgliedsmethode von auf die übergeordnete Klasse
Welche Sortiermethoden gibt es? Bitte listen Sie dieSortiermethoden auf: Einfügungssortierung (direkte Einfügungssortierung, Hill-Sortierung), Austauschsortierung (Blasensortierung, schnelle Sortierung), Auswahlsortierung (direkte Auswahlsortierung, Heap-Sortierung), Zusammenführungssortierung, Verteilungssortierung (Box-Sortierung, Radix-Sortierung) Pseudocode der Schnellsortierung. Der Unterschied zwischen
String, StringBuffer und StringBuilder.Die Länge von String ist unveränderlich.
Die Länge von StringBuffer ist variabel, wenn Sie den Inhalt in der Zeichenfolge häufig bearbeiten, insbesondere wenn der Inhalt geändert wird , verwenden Sie StringBuffer am Ende, verwenden Sie die toString()-Methode von StringBuffer; Im Allgemeinen sollten Sie die StringBuilder-Klasse bevorzugen, da sie alle gleichen Vorgänge unterstützt, aber schneller ist, da sie keine Synchronisierung durchführt.Antwort: Überschreiben von Methoden und Überladen. Überladung sind verschiedene Erscheinungsformen des Java-Polymorphismus.
Überschreiben ist eine Manifestation des Polymorphismus zwischen Elternklasse und Unterklasse, und Überladung ist eine Manifestation des Polymorphismus in einer Klasse. Wenn eine in einer Unterklasse definierte Methode denselben Namen und dieselben Parameter wie ihre übergeordnete Klasse hat, spricht man von einer überschreibenden Methode.
Wenn ein Objekt einer Unterklasse diese Methode verwendet, wird die Definition in der Unterklasse aufgerufen. Dafür scheint die Definition in der übergeordneten Klasse „abgeschirmt“ zu sein. Wenn in einer Klasse mehrere Methoden mit demselben Namen definiert sind und diese eine unterschiedliche Anzahl von Parametern oder unterschiedliche Parametertypen haben, spricht man von Methodenüberladung. Eine überladene Methode kann den Typ des Rückgabewerts ändern.
Was ist der Unterschied zwischen final und final?
Antwort: final: Modifikator (Schlüsselwort); wenn eine Klasse als final deklariert ist, bedeutet dies, dass sie nicht möglich ist Abgeleitete neue Unterklassen können nicht als übergeordnete Klassen vererbt werden, daher kann eine Klasse nicht sowohl abstrakt als auch endgültig deklariert werden. Durch die Deklaration von Variablen oder Methoden wird sichergestellt, dass sie während der Verwendung nicht geändert werden und können nur in nachfolgenden Referenzen gelesen und nicht geändert werden; als final deklarierte Methoden können ebenfalls nur verwendet und nicht überladen werden.
finally: Stellen Sie einen „finally“-Block bereit, um alle Bereinigungsvorgänge während der Ausnahmebehandlung durchzuführen. Wenn eine Ausnahme ausgelöst wird, wird die entsprechende „catch“-Klausel ausgeführt und die Steuerung wechselt dann in den „finally“-Block (falls vorhanden).
Mehrere häufige Betriebsstörungen.
java.lang.nullpointerException (Nullzeiger-Ausnahme)
java.lang.classnotfoundException (die angegebene Klasse existiert nicht)
java.lang.arithmeticException ( mathematische Operationsausnahme)
java.lang.arrayindexoutofboundsexception (Array-Index-Ausnahme außerhalb der Grenzen)
IOException (Eingabe- und Ausgabeausnahme)
Zwei häufige kleinere Probleme bei Array-Operationen sind Außerhalb der Grenzen und leerer Zeiger
* A: Falldemonstration
* a: ArrayIndexOutOfBoundsException: Array-Index außerhalb der Grenzen Ausnahme
* Grund: Sie haben auf a zugegriffen Nicht vorhandener Index.
* b: NullPointerException: Nullzeiger-Ausnahme
* Grund: Das Array zeigt nicht mehr auf den Heap-Speicher. Und Sie verwenden auch Array-Namen, um auf Elemente zuzugreifen.
* int[] arr = {1,2,3}; * arr = null; * System.out.println(arr[0]);
Wie geht die JAVA-Sprache mit Ausnahmen um? Was bedeuten die Schlüsselwörter „würfe“, „werfen“, „versuchen“, „fangen“ und „endlich“? Kann eine Ausnahme im Try-Block ausgelöst werden?
Antwort: Java behandelt Ausnahmen durch objektorientierte Methoden, klassifiziert verschiedene Ausnahmen und bietet eine gute Schnittstelle.
In Java ist jede Ausnahme ein Objekt, das eine Instanz der Throwable-Klasse oder anderer Unterklassen ist. Wenn in einer Methode eine Ausnahme auftritt, wird ein Ausnahmeobjekt ausgelöst. Das Objekt enthält Ausnahmeinformationen. Die Methode zum Aufrufen dieses Objekts kann die Ausnahme abfangen und behandeln.
Die Ausnahmebehandlung von Java wird durch 5 Schlüsselwörter implementiert: try, Catch, Throw, Throws und schließlich. Im Allgemeinen wird try zum Ausführen eines Programms verwendet. Wenn eine Ausnahme auftritt, kann sie zu diesem Zeitpunkt anhand ihres Typs oder schließlich anhand des zu behandelnden Standardhandlers ausgelöst werden.
Verwenden Sie try, um ein Programm anzugeben, das alle „Ausnahmen“ verhindert. Unmittelbar nach dem Try-Programm sollte eine Catch-Klausel eingefügt werden, um den Typ der „Ausnahme“ anzugeben, die Sie abfangen möchten.
Die throw-Anweisung wird verwendet, um explizit eine „Ausnahme“ auszulösen.
throws wird verwendet, um verschiedene „Ausnahmen“ anzugeben, die eine Mitgliedsfunktion auslösen kann.
Stellt schließlich sicher, dass ein Teil des Codes ausgeführt wird, egal welche „Ausnahme“ auftritt.
Sie können eine Try-Anweisung außerhalb eines Member-Funktionsaufrufs schreiben und eine weitere Try-Anweisung innerhalb der Member-Funktion schreiben, um anderen Code zu schützen. Immer wenn eine Try-Anweisung auftritt, wird der „Exception“-Frame auf dem Stapel platziert, bis alle Try-Anweisungen abgeschlossen sind.
Wenn die Try-Anweisung der nächsten Ebene eine bestimmte „Ausnahme“ nicht behandelt, wird der Stapel erweitert, bis er auf eine Try-Anweisung trifft, die diese „Ausnahme“ behandelt.
Wenn der Server die vom Benutzer übermittelten Formulardaten empfängt, ruft er dann die doGet()- oder doPost()-Methode des Servlets auf?
Antwort: Das