11. Müssen abstrakte Klassen abstrakte Methoden haben?
Nein, abstrakte Klassen müssen nicht unbedingt abstrakte Methoden haben.
Beispielcode:
abstract class Cat { public static void sayHi() { System.out.println("hi~"); } }
Im obigen Code verfügt die abstrakte Klasse über keine abstrakten Methoden, kann aber normal ausgeführt werden.
(Lernvideo-Empfehlung: Java-Video-Tutorial)
12. Was sind die Unterschiede zwischen gewöhnlichen Klassen und abstrakten Klassen?
Gewöhnliche Klassen können keine abstrakten Methoden enthalten, während abstrakte Klassen abstrakte Methoden enthalten können.
Abstrakte Klassen können nicht direkt instanziiert werden, gewöhnliche Klassen können jedoch direkt instanziiert werden.
13. Können abstrakte Klassen mit final geändert werden?
Nein, die Definition einer abstrakten Klasse ermöglicht es anderen Klassen, sie zu erben. Wenn sie als final definiert ist, kann die Klasse nicht vererbt werden, was zu Konflikten untereinander führt, sodass final die abstrakte Klasse nicht ändern kann, wie gezeigt In der folgenden Abbildung zeigt der Editor außerdem eine Fehlermeldung an:
14. Was ist der Unterschied zwischen einer Schnittstelle und einer abstrakten Klasse?
Implementierung: Unterklassen abstrakter Klassen verwenden Erweiterungen zum Erben von Schnittstellen.
Konstruktor: Abstrakte Klassen können Konstruktoren haben;
Hauptmethode: Abstrakte Klassen können eine Hauptmethode haben, und wir können sie ausführen. Schnittstellen können keine Hauptmethode haben.
Anzahl der Implementierungen: Eine Klasse kann viele Schnittstellen implementieren, aber nur eine abstrakte Klasse erben.
Zugriffsmodifikator: Methoden in Schnittstellen werden standardmäßig von public geändert; Methoden in abstrakten Klassen können einen beliebigen Zugriffsmodifikator haben.
15. Wie viele Arten von IO-Streams gibt es in Java?
Geteilt durch Funktion: Eingabestrom (Eingabe), Ausgabestrom (Ausgabe).
Unterteilt nach Typ: Byte-Stream und Zeichen-Stream.
Der Unterschied zwischen Byte-Stream und Zeichen-Stream ist: Der Byte-Stream verwendet eine 8-Bit-Übertragung, um Daten in Bytes einzugeben und auszugeben, und der Zeichen-Stream verwendet eine 16-Bit-Übertragung, um Daten in Zeicheneinheiten einzugeben und auszugeben.
16. Was sind die Unterschiede zwischen BIO, NIO und AIO?
BIO: Block-IO Synchrones Blocking-IO ist das traditionelle IO, das wir normalerweise verwenden. Es zeichnet sich durch seinen einfachen Modus, seine einfache Verwendung und seine geringe gleichzeitige Verarbeitungsfähigkeit aus.
NIO: Neues synchrones, nicht blockierendes IO ist ein Upgrade des herkömmlichen IO. Client und Server kommunizieren über Channel (Kanal) und realisieren Multiplexing.
AIO: Asynchronous IO ist ein Upgrade von NIO, auch NIO2 genannt, das asynchrone, nicht blockierende IO-Operationen implementiert, die auf Ereignissen und Rückrufmechanismen basieren.
17. Was sind die gängigen Dateimethoden?
Files.exists(): Überprüfen Sie, ob der Dateipfad existiert.
Files.createFile(): Eine Datei erstellen.
Files.createDirectory(): Einen Ordner erstellen.
Files.delete(): Eine Datei oder ein Verzeichnis löschen.
Files.copy(): Dateien kopieren.
Files.move(): Dateien verschieben.
Files.size(): Anzahl der Dateien anzeigen.
Files.read(): Dateien lesen.
Files.write(): Dateien schreiben.
Empfohlenes Tutorial: Häufige Java-Interviewfragen
Das obige ist der detaillierte Inhalt vonFragen zum neuen Java-Interview 2020 – grundlegender Teil (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!