Heim > Java > JavaInterview Fragen > Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (1)

Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (1)

王林
Freigeben: 2020-07-21 17:28:15
nach vorne
2146 Leute haben es durchsucht

Java-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (1)

1. Was ist der Unterschied zwischen Basisdatentypen und gekapselten Klassen?

(Empfohlene weitere Interviewfragen: Java-Interviewfragen )

Primitive Typen sind Klassen und Referenztypen sind Objekte.

Verwenden Sie „==", um die Größe primitiver Typen zu vergleichen, und „equals", um die Größe von Referenztypen zu vergleichen.

Referenztypen können serialisiert werden, primitive Typen jedoch nicht.

In Sammlungsklassen können nur Referenztypen verwendet werden, keine primitiven Typen.

New ist nicht für Basisdatentypen erforderlich, New ist jedoch für gekapselte Klassen erforderlich.

Grundlegende Datenparameter werden als Wert übergeben, und gekapselte Typen werden als Adresse übergeben.

2. Der Unterschied zwischen String, StringBuffer und StringBuilder

String ist eine String-Konstante und StringBuffer und StringBuilder sind String-Variablen.

Der von String erstellte Zeicheninhalt ist unveränderlich (das zugrunde liegende Zeichenarray von String ist endgültig) und der Zeicheninhalt von StringBuffer und StringBuilder kann verlängert werden.

StringBuffer ist Thread-sicher, StringBuilder ist Thread-unsicher, aber schnell (da es keine Leistung für die Thread-Sicherheit verbraucht).

3. Warum ist String unveränderlich?

Obwohl String, StringBuffer und StringBuilder allesamt finale Klassen sind, sind die von ihnen generierten Objekte alle unveränderlich und werden alle intern durch char-Arrays implementiert.

Der Unterschied besteht jedoch darin, dass das in der String-Klasse definierte char-Array endgültig ist und StringBuffer und StringBuilder beide von der AbstractStringBuilder-Klasse erben und ihre interne Implementierung durch diese übergeordnete Klasse und diese übergeordnete Klasse vervollständigt wird Das in der Klasse definierte Array ist nur eine gewöhnliche private Variable und kann mit append angehängt werden.

(Verwandte Tutorial-Empfehlungen: Java-Einführungs-Tutorial)

Weil AbstractStringBuilder die Appendable-Schnittstelle implementiert.

4. Der Unterschied zwischen Laufzeitausnahmen und Nicht-Laufzeitausnahmen

Laufzeitausnahmen sind Laufzeitfehler: wie ClassCastException (Klassenkonvertierungsausnahme), IndexOutOfBoundsException (Array aus Grenzen) ), NullPointerException (Nullzeiger), ArrayStoreException (Datenspeicherausnahme, inkonsistenter Typ beim Betrieb des Arrays), BufferOverflowException-Ausnahme des E/A-Vorgangs.

(Empfohlenes Video-Tutorial: Java-Video-Tutorial )

Nicht-Laufzeitausnahmen sind Fehler, die vor der Ausführung nicht sichtbar sind. Sie können Try and Catch verwenden, um Ausnahmen abzufangen.

5. Beschreiben Sie kurz die Merkmale der Objektorientierung und geben Sie Beispiele, um Ihr Verständnis der Objektorientierung zu veranschaulichen.

Die Merkmale der Objektorientierung werden als Kapselung zusammengefasst. Vererbung, Polymorphismus und Realität werden abstrahiert und in einen Container (eine Klasse) eingeordnet, z. B. menschliche Handlungen wie Gehen, Zuhören, Essen, Sprechen usw zu Methoden in der Klasse, aber sie sind der gemeinsame Nenner von Menschen. Größe und Gewicht sind Attribute in der Klasse.

Kapselung: Das heißt, der Teil des Codes, den der Designer dem Benutzer nicht offenlegen möchte, wird durch die Modifikatoren private (geringste Berechtigung), public (höchste Berechtigung), protected und default (Standard) gekapselt bevor das Attribut zum Typ wird), können diese eine Rolle bei der Einschränkung der Berechtigungen von Klassenobjekten spielen.

Vererbung: Der Prozess, bei dem eine Unterklasse eine übergeordnete Klasse erbt. Der Erbe kann alle Methodenattribute der übergeordneten Klasse haben. Der Vorteil besteht darin, die Wiederverwendbarkeit des Codes zu verbessern. Die Unterklasse muss nur eindeutige Funktionen oder Felder schreiben und kann den gemeinsamen Code in die übergeordnete Klasse extrahieren.

Polymorphismus: Vereinheitlichen Sie die Methodenattribute der Unterklasse über die übergeordnete Klasse. Anschließend können Sie die Methode der Unterklasse beliebig verwenden, um das Codevolumen zu optimieren. Das Prinzip besteht darin, dass die Unterklasse die Methode der übergeordneten Klasse neu schreibt.

Das obige ist der detaillierte Inhalt vonJava-Interviewfragen, zusammengefasst aus langjähriger Entwicklungserfahrung - (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage