Heim  >  Artikel  >  Java  >  Klassische Java-Interviewfragen_Muss für Praktikanten gestellt werden!

Klassische Java-Interviewfragen_Muss für Praktikanten gestellt werden!

(*-*)浩
(*-*)浩Original
2019-11-08 16:02:032912Durchsuche

Klassische Java-Interviewfragen, die Praktikanten unbedingt stellen müssen!

Klassische Java-Interviewfragen_Muss für Praktikanten gestellt werden!

Lassen Sie uns zunächst über den Unterschied zwischen „final“, „finally“ und „finalize“ sprechen.

final? Modifikator (Schlüsselwort) Wenn eine Klasse als final deklariert wird, bedeutet dies, dass sie keine neuen Unterklassen mehr ableiten und nicht als übergeordnete Klasse vererbt werden kann. Daher kann eine Klasse nicht sowohl abstrakt als auch final deklariert werden. Deklarieren Sie Variablen oder Methoden als endgültig, um sicherzustellen, dass sie während der Verwendung nicht geändert werden. Als final deklarierte Variablen müssen bei der Deklaration einen Anfangswert erhalten und können nur in nachfolgenden Referenzen gelesen und nicht geändert werden. Auch als final deklarierte Methoden können 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 geht an den „finally“-Block über (falls vorhanden).

Methodenname finalisieren? Die Java-Technologie ermöglicht die Verwendung der finalize()-Methode, um die erforderliche Bereinigung durchzuführen, bevor der Garbage Collector das Objekt aus dem Speicher löscht. Diese Methode wird vom Garbage Collector für dieses Objekt aufgerufen, wenn er feststellt, dass auf das Objekt nicht verwiesen wird. Es ist in der Object-Klasse definiert und wird daher von allen Klassen geerbt. Unterklassen überschreiben die finalize()-Methode, um Systemressourcen zu organisieren oder andere Bereinigungsarbeiten durchzuführen. Die finalize()-Methode wird für das Objekt aufgerufen, bevor der Garbage Collector es löscht.

Zweitens der Unterschied zwischen HashMap und Hashtable.

gehören alle zu den Map-Schnittstellenklassen, die die Zuordnung eindeutiger Schlüssel zu bestimmten Werten implementieren.

Die HashMap-Klasse führt keine Klassifizierung oder Sortierung durch. Es erlaubt einen Nullschlüssel und mehrere Nullwerte.

Hashtable ähnelt HashMap, lässt jedoch keine Nullschlüssel und Nullwerte zu. Es ist auch langsamer als HashMap, da es synchron ist.

Drittens String s = new String("xyz"); Wie viele String-Objekte werden erstellt?

Zwei Objekte, eines ist „xyx“ und das andere ist Das Referenzobjekt zeigt auf „xyx“.

Viertens: Was ist der Unterschied zwischen Sleep() und Wait()? der Zeit. Nach Ablauf des Ruheintervalls nimmt der Thread die Ausführung nicht unbedingt sofort wieder auf. Dies liegt daran, dass in diesem Moment möglicherweise andere Threads ausgeführt werden und die Ausführung nicht aufgegeben werden soll, es sei denn (a) der „aufwachende“ Thread hat eine höhere Priorität.

(b) Der laufende Thread ist aus anderen Gründen blockiert.

wait() ist, wenn Threads interagieren. Wenn der Thread einen wait()-Aufruf an ein Synchronisationsobjekt x ausgibt, unterbricht der Thread die Ausführung und das aufgerufene Objekt wechselt in den Wartezustand, bis es aktiviert oder in den Wartezustand versetzt wird Die Zeit läuft ab.

Fünftens, was ist falsch daran: short s1 = s1 + 1; short s1 = 1; s1 += 1; s1 = 1; s1 = s1 + 1; ist falsch, s1 ist vom Typ short, s1+1 ist vom Typ int und kann nicht explizit in den Typ short konvertiert werden. Es kann als s1 =(kurz)(s1 + 1) geändert werden. kurz s1 = 1; s1 += 1 ist richtig.

Sechstens der Unterschied zwischen Overload und Override. Können überladene Methoden die Art des Rückgabewerts ändern?

Überschreiben und Überladen von Methoden sind unterschiedliche Erscheinungsformen des Java-Polymorphismus. Überschreiben ist eine Manifestation des Polymorphismus zwischen Elternklassen und Unterklassen, 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, sprechen wir von einer überschreibenden Methode. Wenn ein Objekt einer Unterklasse diese Methode verwendet, ruft es die Definition in der Unterklasse auf. Dadurch 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.

Siebtens: Was ist der Unterschied zwischen Fehler und Ausnahme?

Fehler stellen ein ernstes Problem in einer Situation dar, in der eine Wiederherstellung nicht unmöglich, aber schwierig ist. Zum Beispiel Speicherüberlauf. Es ist unmöglich, von einem Programm zu erwarten, dass es mit einer solchen Situation zurechtkommt.

Ausnahme stellt ein Design- oder Implementierungsproblem dar. Das heißt, es stellt eine Situation dar, die bei normaler Ausführung des Programms niemals eintreten würde.

Achtens, nennen Sie mir eine Laufzeitausnahme, die Sie am häufigsten sehen.

ArithmeticException, ArrayStoreException, 
BufferOverflowException, BufferUnderflowException, 
CannotRedoException, CannotUndoException, 
ClassCastException, CMMException, 
ConcurrentModificationException, DOMException, 
EmptyStackException, IllegalArgumentException, 
IllegalMonitorStateException, IllegalPathStateException, 
IllegalStateException, ImagingOpException, 
IndexOutOfBoundsException, MissingResourceException, 
NegativeArraySizeException, NoSuchElementException, 
NullPointerException, ProfileDataException, 
ProviderException, RasterFormatException, SecurityException, 
SystemException, UndeclaredThrowableException, 
UnmodifiableSetException, UnsupportedOperationException

Neuntens können die Elemente in Set nicht wiederholt werden. Welche Methode wird also verwendet, um Wiederholungen zu unterscheiden? 🎜>

Die Elemente in Set können nicht wiederholt werden. Verwenden Sie daher die Methode iterator(), um zu unterscheiden, ob sie wiederholt werden oder nicht. equal() bestimmt, ob zwei Mengen gleich sind.

Die Methoden „equals()“ und „==“ bestimmen, ob der Referenzwert auf dasselbe Objekt zeigt, „equals()“ wird in der Klasse überschrieben, um einen wahren Wert zurückzugeben, wenn die Inhalte und Typen der beiden separaten Objekte übereinstimmen übereinstimmen.

Das obige ist der detaillierte Inhalt vonKlassische Java-Interviewfragen_Muss für Praktikanten gestellt werden!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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