100+ Java Fragen und Antworten zum Vorstellungsgespräch (2025)

Entdecken Sie Java Fragen und Antworten im Vorstellungsgespräch für neue und erfahrene Kandidaten, um ihren Traumjob zu bekommen.

 

Java Fragen und Antworten zum Programmierinterview für Anfänger

1) Was ist der Unterschied zwischen einer inneren Klasse und einer Unterklasse?

Eine innere Klasse ist eine Klasse, die in einer anderen Klasse verschachtelt ist. Eine innere Klasse verfügt über Zugriffsrechte für die Klasse, die sie verschachtelt, und kann auf alle in der äußeren Klasse definierten Variablen und Methoden zugreifen.

Eine Unterklasse ist eine Klasse, die von einer anderen Klasse namens Superklasse erbt. Die Unterklasse kann auf alle öffentlichen und geschützten Methoden und Felder ihrer Oberklasse zugreifen.

👉Kostenloser PDF-Download: Java Vorstellungsgespräch Fragen und Antworten >>


2) Was sind die verschiedenen Zugriffsspezifizierer für Java Klassen?

In Java, Zugriffsspezifizierer sind die Schlüsselwörter, die vor einem Klassennamen verwendet werden, der den Zugriffsbereich definiert. Die Typen von Zugriffsspezifizierern für Klassen sind:

1) Öffentlich: Auf „Klasse, Methode, Feld“ kann von überall aus zugegriffen werden.

2) Geschützt: Auf Methoden und Felder kann von derselben Klasse, zu der sie gehören, oder von den Unterklassen und von der Klasse desselben Pakets aus zugegriffen werden, jedoch nicht von außerhalb.

3) Standard: Auf Methoden, Felder und Klassen kann nur aus demselben Paket und nicht von außerhalb des nativen Pakets zugegriffen werden.

4) Privat: Auf Methoden und Felder kann von derselben Klasse aus zugegriffen werden, zu der sie gehören.


3) Was ist der Zweck statischer Methoden und statischer Variablen?

Wenn es erforderlich ist, eine Methode oder eine Variable zwischen mehreren Objekten einer Klasse gemeinsam zu nutzen, anstatt separate Kopien für jedes Objekt zu erstellen, verwenden wir das Schlüsselwort static, um eine Methode oder Variable für alle Objekte gemeinsam zu nutzen.


4) Was ist Datenkapselung und welche Bedeutung hat sie?

Kapselung ist ein Konzept in der objektorientierten Programmierung zur Kombination von Eigenschaften und Methoden in einer einzigen Einheit.

Die Kapselung hilft Programmierern, einen modularen Ansatz für die Softwareentwicklung zu verfolgen, da jedes Objekt über einen eigenen Satz von Methoden und Variablen verfügt und seine Funktionen unabhängig von anderen Objekten erfüllt. Die Kapselung dient auch dem Zweck, Daten zu verbergen.


5) Was ist eine Singleton-Klasse? Geben Sie ein praktisches Beispiel für die Verwendung.

Eine Singleton-Klasse in Java kann nur eine Instanz haben und daher gehören alle ihre Methoden und Variablen nur zu einer Instanz. Das Singleton-Klassenkonzept ist nützlich für Situationen, in denen die Anzahl der Objekte für eine Klasse begrenzt werden muss.

Das beste Beispiel für ein Singleton-Nutzungsszenario ist, wenn aufgrund einiger Treibereinschränkungen oder aufgrund von Lizenzproblemen nur eine Verbindung zu einer Datenbank möglich ist.


6) Was sind Loops in Java? Welche drei Arten von Schleifen gibt es?

Schleifen werden in der Programmierung verwendet, um eine Anweisung oder einen Anweisungsblock wiederholt auszuführen. Dort sind drei Arten von Schleifen in Java:

1) For-Schleifen

For-Schleifen werden in Java verwendet, um Anweisungen für eine bestimmte Anzahl von Malen wiederholt auszuführen. For-Schleifen werden verwendet, wenn dem Programmierer bekannt ist, wie oft die Anweisungen ausgeführt werden müssen.

2) While-Schleifen

While-Schleifen werden verwendet, wenn bestimmte Anweisungen wiederholt ausgeführt werden müssen, bis eine Bedingung erfüllt ist. In while-Schleifen wird die Bedingung zuerst überprüft, bevor Anweisungen ausgeführt werden.

3) Machen Sie While-Schleifen

Die Ausführung einer While-Schleife ist mit der While-Schleife identisch, mit dem einzigen Unterschied, dass die Bedingung nach der Ausführung des Anweisungsblocks überprüft wird. Daher werden Anweisungen im Falle einer do while-Schleife mindestens einmal ausgeführt.


7) Was ist eine Endlosschleife? Wie wird eine Endlosschleife deklariert?

Eine Endlosschleife läuft ohne jede Bedingung und läuft unendlich. Eine Endlosschleife kann unterbrochen werden, indem im Hauptteil der Anweisungsblöcke eine beliebige Unterbrechungslogik definiert wird.

Eine Endlosschleife wird wie folgt deklariert:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) Was ist der Unterschied zwischen continue- und break-Anweisung?

break und continue sind zwei wichtige Schlüsselwörter, die in Loops verwendet werden. Wenn das Schlüsselwort „break“ in einer Schleife verwendet wird, wird die Schleife sofort unterbrochen. Wenn das Schlüsselwort „continue“ verwendet wird, wird die aktuelle Iteration unterbrochen und die Schleife wird mit der nächsten Iteration fortgesetzt.

Im folgenden Beispiel wird die Schleife unterbrochen, wenn der Zähler 4 erreicht.

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

Wenn der Zähler im folgenden Beispiel 4 erreicht, springt die Schleife zur nächsten Iteration und alle Anweisungen nach dem Schlüsselwort continue werden für die aktuelle Iteration übersprungen.

for (counter = 0; counter < 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    continue;
}
system.out.println("This will not get printed when counter is 4");
}

9) Was ist der Unterschied zwischen Double- und Float-Variablen in Java?

In Java benötigt Float 4 Bytes im Speicher Double benötigt 8 Bytes im Speicher. Float ist eine Gleitkomma-Dezimalzahl mit einfacher Genauigkeit Double ist eine Dezimalzahl mit doppelter Genauigkeit.


10) Was ist das letzte Schlüsselwort in Java? Geben Sie ein Beispiel.

In Java wird eine Konstante mit dem Schlüsselwort Final deklariert. Der Wert kann nur einmal zugewiesen werden und nach der Zuweisung kann der Wert einer Konstante nicht mehr geändert werden.

Im folgenden Beispiel wird eine Konstante mit dem Namen const_val deklariert und ihr ein Wert zugewiesen:

Private Final int const_val=100

Wenn eine Methode als final deklariert ist, kann sie NICHT von den Unterklassen überschrieben werden. Diese Methode ist schneller als jede andere Methode, da sie zur vorgegebenen Zeit aufgelöst wird.

Wenn eine Klasse als final deklariert ist, kann sie nicht als Unterklasse verwendet werden. Beispiel: String, Integer und andere Wrapper-Klassen.


11) Was ist ein ternärer Operator? Geben Sie ein Beispiel.

Der ternäre Operator , auch Bedingungsoperator genannt, wird verwendet, um zu entscheiden, welcher Wert einer Variablen basierend auf der Auswertung eines Booleschen Werts zugewiesen wird. Er wird als ? bezeichnet.

Wenn der Rang im folgenden Beispiel 1 ist, wird dem Status der Wert „Fertig“ oder „Ausstehend“ zugewiesen.

public class conditionTest {
    public static void main(String args[]) {
        String status;
        int rank = 3;
        status = (rank == 1) ? "Done" : "Pending";
        System.out.println(status);
    }
}

12) Wie kann man Zufallszahlen erzeugen in Java?

  • Mit Math.random() können Sie Zufallszahlen im Bereich größer oder gleich 0.1 und kleiner als 1.0 generieren
  • Verwendung der Random-Klasse im Paket java.util

13) Was ist das Standard-Schaltergehäuse? Ein Beispiel geben.

Kurz und switch-Anweisung, der Standardfall wird ausgeführt, wenn keine andere Schalterbedingung zutrifft. Der Standardfall ist ein optionaler Fall. Er kann erst deklariert werden, wenn alle anderen Schalterfälle codiert wurden.

Wenn im folgenden Beispiel die Punktzahl nicht 1 oder 2 ist, wird die Standardschreibweise verwendet.

public class SwitchExample {
    public static void main(String args[]) {
        int score = 4; // Declare the score variable inside the main method
        switch (score) {
            case 1:
                System.out.println("Score is 1");
                break;
            case 2:
                System.out.println("Score is 2");
                break;
            default:
                System.out.println("Default Case");
        }
    }
}

14) Was ist die Basisklasse in Java von denen alle Klassen abgeleitet sind?

java.lang.object


15) Kann main() Methode in Java können beliebige Daten zurückgeben?

In Java kann die Methode main() keine Daten zurückgeben und wird daher immer mit dem Rückgabetyp void deklariert.


16) Was sind Java Pakete? Welche Bedeutung haben Pakete?

In JavaEin Paket ist eine Sammlung von Klassen und Schnittstellen, die gebündelt sind, da sie miteinander in Beziehung stehen. Die Verwendung von Paketen hilft Entwicklern, den Code zu modularisieren und für die richtige Wiederverwendung zu gruppieren. Sobald Code in Paketen verpackt wurde, kann er in andere Klassen importiert und verwendet werden.


17) Können wir eine Klasse als Abstract deklarieren, ohne eine abstrakte Methode zu haben?

Ja, wir können eine abstrakte Klasse erstellen, indem wir vor dem Klassennamen das Schlüsselwort „abstract“ verwenden, auch wenn sie keine abstrakte Methode hat. Wenn eine Klasse jedoch auch nur eine abstrakte Methode hat, muss sie als abstrakt deklariert werden, andernfalls tritt ein Fehler auf.


18) Was ist der Unterschied zwischen einer abstrakten Klasse und einer Schnittstelle in Java?

Der Hauptunterschied zwischen einer abstrakten Klasse und einer Schnittstelle besteht darin, dass eine Schnittstelle nur die Deklaration öffentlicher statischer Methoden ohne konkrete Implementierung besitzen kann, während eine abstrakte Klasse Mitglieder mit beliebigen Zugriffsspezifizierern (öffentlich, privat usw.) mit oder ohne konkrete Implementierung haben kann.

Ein weiterer wesentlicher Unterschied bei der Verwendung abstrakter Klassen und Schnittstellen besteht darin, dass eine Klasse, die eine Schnittstelle implementiert, alle Methoden der Schnittstelle implementieren muss, während eine Klasse, die von einer abstrakten Klasse erbt, nicht die Implementierung aller Methoden ihrer Superklasse erfordert.

Eine Klasse kann mehrere Schnittstellen implementieren, aber nur eine abstrakte Klasse erweitern.


19) Welche Auswirkungen haben Schnittstellen auf die Leistung gegenüber abstrakten Klassen?

Schnittstellen weisen im Vergleich zu abstrakten Klassen eine langsamere Leistung auf, da für Schnittstellen zusätzliche Indirektionen erforderlich sind. Ein weiterer wichtiger Faktor, den Entwickler berücksichtigen müssen, ist, dass jede Klasse nur eine abstrakte Klasse erweitern kann, während eine Klasse viele Schnittstellen implementieren kann.

Die Verwendung von Schnittstellen stellt auch eine zusätzliche Belastung für die Entwickler dar, da jedes Mal, wenn eine Schnittstelle in einer Klasse implementiert wird; Der Entwickler ist gezwungen, jede einzelne Methode der Schnittstelle zu implementieren.


20) Importiert der Import eines Pakets auch dessen Unterpakete in Java?

Wenn in Java ein Paket importiert wird, werden dessen Unterpakete nicht importiert und der Entwickler muss sie bei Bedarf separat importieren.

Wenn ein Entwickler beispielsweise ein Paket „university.*“ importiert, werden alle Klassen im Paket mit dem Namen „university“ geladen, aber keine Klassen aus dem Unterpaket. Um die Klassen aus ihrem Unterpaket (z. B. Abteilung) zu laden, muss der Entwickler sie explizit wie folgt importieren:

Universität.Abteilung importieren.*


21) Können wir die Hauptmethode unserer Klasse als privat deklarieren?

In Java muss die Hauptmethode „public static“ sein, damit eine Anwendung ordnungsgemäß ausgeführt werden kann. Wenn die Hauptmethode als privat deklariert ist, erhält der Entwickler keinen Kompilierungsfehler, sie wird jedoch nicht ausgeführt und gibt einen Laufzeitfehler aus.


22) Wie können wir Argumente per Referenz an eine Funktion übergeben, anstatt sie als Wert zu übergeben?

In Java können wir Argumente nur als Wert und nicht als Referenz an eine Funktion übergeben.


23) Wie wird ein Objekt in Java serialisiert?

Um in Java ein Objekt durch Serialisierung in einen Bytestream umzuwandeln, wird von der Klasse eine Schnittstelle mit dem Namen Serializable implementiert. Alle Objekte einer Klasse, die eine serialisierbare Schnittstelle implementiert, werden serialisiert und ihr Status wird im Bytestream gespeichert.


24) Wann sollten wir Serialisierung verwenden?

Serialisierung wird verwendet, wenn Daten über das Netzwerk übertragen werden müssen. Mithilfe der Serialisierung wird der Status des Objekts gespeichert und in einen Bytestrom umgewandelt. Der Bytestrom wird über das Netzwerk übertragen und das Objekt wird am Zielort neu erstellt.


25) Ist es zwingend erforderlich, dass auf einen Try Block ein Catch Block folgt in Java für die Ausnahmebehandlung?

Dem Try-Block muss entweder ein Catch-Block oder ein Final-Block oder beides folgen. Jede vom Try-Block ausgelöste Ausnahme muss entweder im Catch-Block abgefangen werden, oder alle spezifischen Aufgaben, die vor dem Abbruch des Codes ausgeführt werden müssen, werden im Final-Block abgelegt.


Java Fragen und Antworten im Vorstellungsgespräch für Erfahrene

26) Gibt es eine Möglichkeit, den Final-Block der Ausnahme zu überspringen, auch wenn im Ausnahmeblock eine Ausnahme auftritt?

Wenn im Try-Block eine Ausnahme auftritt, wird die Steuerung an den Catch-Block übergeben, sofern dieser vorhanden ist, andernfalls an den Finally-Block. Der Finally-Block wird immer ausgeführt, wenn eine Ausnahme auftritt, und die einzige Möglichkeit, die Ausführung von Anweisungen im Finally-Block zu vermeiden, besteht darin, den Code zwangsweise abzubrechen, indem die folgende Codezeile am Ende des Try-Blocks geschrieben wird:

System.exit(0);

27) Wann wird der Konstruktor einer Klasse aufgerufen?

Der Konstruktor einer Klasse wird jedes Mal aufgerufen, wenn ein Objekt mit dem Schlüsselwort new erstellt wird.

Beispielsweise werden in der folgenden Klasse zwei Objekte mit dem Schlüsselwort „new“ erstellt und daher wird der Konstruktor zwei Mal aufgerufen.

public class const_example {

    const_example() {

        system.out.println("Inside constructor");
    }
    public static void main(String args[]) {

        const_example c1 = new const_example();

        const_example c2 = new const_example();
    }
}

28) Kann eine Klasse mehrere Konstruktoren haben?

Ja, eine Klasse kann mehrere Konstruktoren mit unterschiedlichen Parametern haben. Welcher Konstruktor für die Objekterstellung verwendet wird, hängt von den Argumenten ab, die beim Erstellen der Objekte übergeben werden.


29) Können wir statische Methoden einer Klasse überschreiben?

Wir können statische Methoden nicht überschreiben. Statische Methoden gehören zu einer Klasse und nicht zu einzelnen Objekten und werden zum Zeitpunkt der Kompilierung (nicht zur Laufzeit) aufgelöst. Selbst wenn wir versuchen, statische Methoden zu überschreiben, erhalten wir weder einen Kompilierungsfehler noch die Auswirkungen des Überschreibens beim Ausführen Code.


30) Was wird im folgenden Beispiel ausgegeben?

public class superclass {

    public void displayResult() {

        system.out.println("Printing from superclass");

    }

}

public class subclass extends superclass {

    public void displayResult() {

        system.out.println("Displaying from subClass");

        super.displayResult();

    }

    public static void main(String args[]) {

        subclass obj = new subclass();

        obj.displayResult();

    }

}

Am: Die Ausgabe wird sein:

Anzeige aus Unterklasse

Drucken aus der Superklasse


31) Ist String ein Datentyp in Java?

String ist kein primitiver Datentyp in Java. Wenn ein String in Java erstellt wird, ist er eigentlich ein Objekt von Java.Lang.String-Klasse, die erstellt wird. Nach der Erstellung dieses String-Objekts können alle integrierten Methoden der String-Klasse auf das String-Objekt angewendet werden.


32) Wie viele String-Objekte werden im folgenden Beispiel erstellt?

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

Im obigen Beispiel werden zwei Objekte der JavaDie Klasse .Lang.String wird erstellt. s1 und s3 sind Verweise auf dasselbe Objekt.


33) Warum Strings in Java werden als unveränderlich bezeichnet?

In Java werden String-Objekte als unveränderlich bezeichnet, da ein Wert, der einem String einmal zugewiesen wurde, nicht mehr geändert werden kann und bei einer Änderung ein neues Objekt erstellt wird.

Im folgenden Beispiel bezieht sich die Referenz str auf ein Zeichenfolgenobjekt mit dem Wert „Wert eins“.

String str="Value One";

Wenn ihm ein neuer Wert zugewiesen wird, wird ein neues String-Objekt erstellt und die Referenz wird auf das neue Objekt verschoben.

str="New Value";

34) Was ist der Unterschied zwischen einem Array und einem Vektor?

Ein Array gruppiert Daten desselben primitiven Typs und ist statischer Natur, während Vektoren dynamischer Natur sind und Daten verschiedener Datentypen enthalten können.


35) Was ist Multithreading?

Multi-Threading ist ein Programmierkonzept zur gleichzeitigen Ausführung mehrerer Aufgaben in einem einzigen Programm. Threads nutzen denselben Prozessstapel und werden parallel ausgeführt. Es hilft bei der Leistungsverbesserung jedes Programms.


36) Warum Runnable Interface verwendet wird in Java?

Die Runnable-Schnittstelle wird in Java zur Implementierung von Multithread-Anwendungen verwendet. JavaDie Schnittstelle .Lang.Runnable wird von einer Klasse implementiert, um Multithreading zu unterstützen.


37) Welche zwei Möglichkeiten gibt es zur Implementierung von Multithreading in Java?

Multithread-Anwendungen können entwickelt werden in Java indem Sie eine der folgenden beiden Methoden verwenden:

1) Mit Java.Lang.Runnable-Schnittstelle. Klassen implementieren diese Schnittstelle, um Multithreading zu ermöglichen. In dieser Schnittstelle gibt es eine implementierte Run()-Methode.

2) Indem Sie eine Klasse schreiben, die erweitert Java.Lang.Thread-Klasse.


38) Welches sollte bevorzugt verwendet werden, wenn viele Datenänderungen erforderlich sind? String oder StringBuffer?

Seit StringBuffers sind dynamischer Natur und wir können die Werte von String ändernBuffer Im Gegensatz zu String, der unveränderlich ist, ist die Verwendung von String immer eine gute WahlBuffer wenn Daten zu stark geändert werden. Wenn wir in einem solchen Fall String verwenden, wird für jede Datenänderung ein neues String-Objekt erstellt, was einen zusätzlichen Aufwand darstellt.


39) Was ist der Zweck der Verwendung von Break in jedem Fall der Switch-Anweisung?

Break wird nach jedem Fall (außer dem letzten) in einem Switch verwendet, sodass der Code nach dem gültigen Fall unterbrochen wird und nicht auch in den folgenden Fällen fließt.

Wenn break nicht nach jedem Fall verwendet wird, werden auch alle Fälle nach dem gültigen Fall ausgeführt, was zu falschen Ergebnissen führt.


40) Wie die Müllabfuhr erfolgt in Java?

Wenn in Java nicht mehr auf ein Objekt verwiesen wird, Müllabfuhr findet statt und das Objekt wird automatisch zerstört. Für die automatische Speicherbereinigung ruft Java entweder die Methode System.gc() oder die Methode Runtime.gc() auf.


41) Wie können wir Code noch vor der Hauptmethode ausführen?

Wenn wir Anweisungen ausführen möchten, bevor überhaupt Objekte zum Ladezeitpunkt der Klasse erstellt werden, können wir einen statischen Codeblock in der Klasse verwenden. Alle Anweisungen in diesem statischen Codeblock werden einmal beim Laden der Klasse ausgeführt, noch bevor Objekte in der Hauptmethode erstellt werden.


42) Kann eine Klasse gleichzeitig eine Superklasse und eine Unterklasse sein? Ein Beispiel geben.

Wenn eine Vererbungshierarchie verwendet wird, kann eine Klasse gleichzeitig eine Oberklasse für eine andere Klasse und eine Unterklasse für eine andere sein.

Im folgenden Beispiel ist die Kontinentklasse eine Unterklasse der Weltklasse und ihre Superklasse die Länderklasse.

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) Wie werden Objekte einer Klasse erstellt, wenn in der Klasse kein Konstruktor definiert ist?

Auch wenn in einer Java-Klasse kein expliziter Konstruktor definiert ist, werden Objekte erfolgreich erstellt, da implizit ein Standardkonstruktor für die Objekterstellung verwendet wird. Dieser Konstruktor hat keine Parameter.


44) Wie können wir beim Multithreading sicherstellen, dass eine Ressource nicht von mehreren Threads gleichzeitig verwendet wird?

Beim Multithreading kann der Zugriff auf die Ressourcen, die von mehreren Threads gemeinsam genutzt werden, mithilfe des Konzepts der Synchronisierung gesteuert werden. synchronisiertes Schlüsselwortkönnen wir sicherstellen, dass jeweils nur ein Thread die gemeinsam genutzte Ressource nutzen kann und andere erst dann die Kontrolle über die Ressource erlangen können, wenn sie von dem anderen Thread, der sie verwendet, frei geworden ist.


45) Können wir den Konstruktor einer Klasse mehr als einmal für ein Objekt aufrufen?

Der Konstruktor wird automatisch aufgerufen, wenn wir ein Objekt mit dem Schlüsselwort new erstellen. Es wird zum Zeitpunkt der Objekterstellung nur einmal für ein Objekt aufgerufen und daher können wir den Konstruktor für ein Objekt nach seiner Erstellung nicht erneut aufrufen.


46) Es gibt zwei Klassen mit den Namen classA und classB. Beide Klassen befinden sich im selben Paket. Kann ein Objekt der Klasse B auf ein privates Mitglied der Klasse A zugreifen?

Auf private Mitglieder einer Klasse kann außerhalb des Geltungsbereichs dieser Klasse nicht zugegriffen werden, und keine andere Klasse, auch nicht im selben Paket, kann auf sie zugreifen.


47) Können wir in einer Klasse zwei Methoden mit demselben Namen haben?

Wir können in einer Klasse zwei Methoden mit demselben Namen, aber unterschiedlicher Anzahl/Art von Parametern definieren. Welche Methode aufgerufen werden soll, hängt von den übergebenen Parametern ab.

In der folgenden Klasse haben wir beispielsweise zwei Druckmethoden mit demselben Namen, aber unterschiedlichen Parametern. Abhängig von den Parametern wird der entsprechende Name aufgerufen:

public class methodExample {

    public void print() {

        system.out.println("Print method without parameters.");

    }

    public void print(String name) {

        system.out.println("Print method with parameter");

    }

    public static void main(String args[]) {

        methodExample obj1 = new methodExample();

        obj1.print();

        obj1.print("xx");

    }

}

48) Wie können wir eine Kopie eines Java-Objekts erstellen?

Wir können das Konzept des Klonens verwenden, um eine Kopie eines Objekts zu erstellen. Mithilfe von Klonen erstellen wir Kopien mit dem tatsächlichen Zustand eines Objekts.

Clone() ist eine Methode der Cloneable-Schnittstelle und daher muss die Cloneable-Schnittstelle zum Erstellen von Objektkopien implementiert werden.


49) Was ist der Vorteil der Vererbung?

Der Hauptvorteil der Vererbung ist die Wiederverwendbarkeit des Codes, da die Vererbung es Unterklassen ermöglicht, den Code ihrer Oberklasse wiederzuverwenden. Polymorphismus (Erweiterbarkeit) ist ein weiterer großer Vorteil, der die Einführung neuer Funktionen ermöglicht, ohne dass sich dies auf bestehende abgeleitete Klassen auswirkt.


50) Was ist der Standardzugriffsspezifizierer für Variablen und Methoden einer Klasse?

Der Standardzugriffsbezeichner für Variablen und Methoden ist paketgeschützt, dh Variablen und Klassen sind für jede andere Klasse verfügbar, jedoch im selben Paket und nicht außerhalb des Pakets.


51) Geben Sie ein Beispiel für die Verwendung von Zeigern in Java Klasse.

Es gibt keine Hinweise in Java. Wir können also das Konzept der Zeiger nicht verwenden in Java.


52) Wie können wir die Vererbung für eine Klasse einschränken, sodass keine Klasse von ihr geerbt werden kann?

Wenn wir möchten, dass eine Klasse durch keine Klasse weiter erweitert wird, können wir das Schlüsselwort verwenden Ende mit dem Klassennamen.

Im folgenden Beispiel ist die Klasse Stone Final und kann nicht erweitert werden

public Final Class Stone {
	// Class methods and Variables
}

53) Was ist der Zugriffsbereich des Protected Access-Spezifizierers?

Wenn eine Methode oder eine Variable mit dem geschützten Zugriffsspezifizierer deklariert wird, wird sie in derselben Klasse, jeder anderen Klasse desselben Pakets sowie einer Unterklasse zugänglich.

Veränderung Klasse Paket Unterklasse Welt
Öffentlichkeit Y Y Y Y
geschützt Y Y Y N
kein Modifikator Y Y N N
privat Y N N N

54) Was ist der Unterschied zwischen Stack und Queue?

Sowohl Stack als auch Queue werden als Platzhalter für eine Datensammlung verwendet. Der Hauptunterschied zwischen einem Stapel und einer Warteschlange besteht darin, dass der Stapel auf dem LIFO-Prinzip (Last in First Out) basiert, während eine Warteschlange auf dem FIFO-Prinzip (First In First Out) basiert.


55) Wie können wir in Java die Serialisierung von Variablen verbieten?

Wenn wir möchten, dass bestimmte Variablen einer Klasse nicht serialisiert werden, können wir das Schlüsselwort verwenden vorübergehend während man sie deklariert. Beispielsweise ist die Variable trans_var unten eine transiente Variable und kann nicht serialisiert werden:

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) Wie können wir primitive Datentypen als Objekte verwenden?

Primitive Datentypen wie int können mithilfe ihrer jeweiligen Wrapper-Klassen als Objekte behandelt werden. Beispielsweise ist Integer eine Wrapper-Klasse für den primitiven Datentyp int. Wir können auf eine Wrapper-Klasse wie auf jedes andere Objekt verschiedene Methoden anwenden.


57) Welche Arten von Ausnahmen werden zur Kompilierungszeit abgefangen?

Überprüfte Ausnahmen können zum Zeitpunkt der Programmkompilierung abgefangen werden. Geprüfte Ausnahmen müssen mithilfe des Try-Catch-Blocks im Code behandelt werden, um den Code erfolgreich zu kompilieren.


58) Beschreiben Sie verschiedene Zustände eines Threads.

Ein Thread in Java kann sich in einem der folgenden Zustände befinden:

  • Bereit: Wenn ein Thread erstellt wird, befindet er sich im Status „Bereit“.
  • Läuft: Ein Thread, der gerade ausgeführt wird, befindet sich im Ausführungsstatus.
  • Warten: Ein Thread, der darauf wartet, dass ein anderer Thread bestimmte Ressourcen freigibt, befindet sich im Wartezustand.
  • Tot: Ein Thread, der nach der Ausführung tot ist, befindet sich im toten Zustand.

59) Können wir einen Standardkonstruktor einer Klasse verwenden, auch wenn ein expliziter Konstruktor definiert ist?

Java stellt einen Standardkonstruktor ohne Argumente bereit, wenn kein expliziter Konstruktor in einem Java Klasse. Wenn jedoch ein expliziter Konstruktor definiert wurde, kann der Standardkonstruktor nicht aufgerufen werden und der Entwickler kann nur die Konstruktoren verwenden, die in der Klasse definiert sind.


60) Können wir eine Methode überschreiben, indem wir denselben Methodennamen und dieselben Argumente, aber unterschiedliche Rückgabetypen verwenden?

Die Grundvoraussetzung für das Überschreiben einer Methode besteht darin, dass der Methodenname, die Argumente und der Rückgabetyp genau mit denen der überschriebenen Methode übereinstimmen müssen. Daher überschreibt die Verwendung eines anderen Rückgabetyps eine Methode nicht.


61) Was wird die Ausgabe des folgenden Codeabschnitts sein?

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

In diesem Fall wird der Postfix-++-Operator verwendet, der zuerst den Wert zurückgibt und dann erhöht. Daher lautet die Ausgabe 4.


61) Jemand sagt, dass er eine Java-Klasse erfolgreich kompiliert hat, ohne dass sie überhaupt eine Hauptmethode enthält? Ist es möglich?

Die Hauptmethode ist ein Einstiegspunkt für Java Klasse und wird für die Ausführung des Programms benötigt. Eine Klasse wird jedoch erfolgreich kompiliert, auch wenn sie keine Hauptmethode hat. Sie kann jedoch nicht ausgeführt werden.


62) Können wir eine nicht statische Methode aus einer statischen Methode heraus aufrufen?

Nicht-statische Methoden gehören Objekten einer Klasse und haben einen Gültigkeitsbereich auf Objektebene. Um die nicht-statischen Methoden aus einem statischen Block (z. B. aus einer statischen Hauptmethode) aufzurufen, muss zuerst ein Objekt der Klasse erstellt werden. Anschließend können diese Methoden mithilfe einer Objektreferenz aufgerufen werden.


63) Welche beiden Umgebungsvariablen müssen gesetzt werden, um ein Java Programme?

Java Programme können auf einer Maschine nur ausgeführt werden, wenn die folgenden beiden Umgebungsvariablen ordnungsgemäß festgelegt wurden:

  1. PATH-Variable
  2. CLASSPATH-Variable

64) Können Variablen verwendet werden in Java ohne Initialisierung?

In Java, wenn eine Variable in einem Code verwendet wird, ohne vorher mit einem gültigen Wert initialisiert zu werden, wird das Programm nicht kompiliert und gibt einen Fehler aus, da den Variablen in Java.


65) Kann eine Klasse in Java von mehr als einer Klasse geerbt werden?

In Javakann eine Klasse nur von einer Klasse abgeleitet werden, nicht von mehreren Klassen. Mehrfachvererbung wird nicht unterstützt von Java.


66) Kann ein Konstruktor einen anderen Namen haben als ein Klassenname in Java?

Konstrukteur in Java muss denselben Namen wie der Klassenname haben. Wenn der Name anders ist, fungiert es nicht als Konstruktor und der Compiler betrachtet es als normale Methode.


67) Was wird das Ergebnis von Round(3.7) und Ceil(3.7) sein?

Round(3.7) gibt 4 zurück und Ceil(3.7) gibt 4 zurück.


68) Können wir goto verwenden in Java um zu einer bestimmten Zeile zu gelangen?

In Java, es gibt kein goto-Schlüsselwort und Java unterstützt diese Funktion zum Gehen zu einer bestimmten beschrifteten Zeile nicht.


69) Kann ein toter Thread erneut gestartet werden?

In Java kann ein Thread, der sich im toten Zustand befindet, nicht erneut gestartet werden. Es gibt keine Möglichkeit, einen toten Thread neu zu starten.


70) Ist die folgende Klassendeklaration korrekt?

public abstract final class testClass {
	// Class methods and variables
}

Antwort: Die obige Klassendeklaration ist falsch, da eine abstrakte Klasse nicht als Final deklariert werden kann.


71) Ist JDK auf jeder Maschine erforderlich, um ein Java Programm?

JDK ist das Development Kit von Java und wird nur für die Entwicklung und zum Ausführen eines Java Programm auf einer Maschine, JDK ist nicht erforderlich. Nur JRE ist erforderlich.


72) Was ist der Unterschied zwischen einem Vergleich mit der Methode „equals“ und dem Operator „==“?

In Java, die Methode equals() wird verwendet, um den Inhalt zweier String-Objekte zu vergleichen und gibt „true“ zurück, wenn beide denselben Wert haben, während der Operator == die Referenzen zweier String-Objekte vergleicht.

Im folgenden Beispiel gibt equals() true zurück, da die beiden String-Objekte dieselben Werte haben. Der Operator == gibt jedoch false zurück, da beide String-Objekte auf unterschiedliche Objekte verweisen:

public class equalsTest {

    public static void main(String args[]) {

        String str1 = new String("Hello World");

        String str2 = new String("Hello World");

        if (str1.equals(str2))

        { // this condition is true

            System.out.println("str1 and str2 are equal in terms of values");

        }

        if (str1 == str2) {

            //This condition is true

            System.out.println("Both strings are referencing same object");

        } else

        {

            // This condition is NOT true

            System.out.println("Both strings are referencing different objects");

        }

    }

}

73) Ist es möglich, eine Methode zu definieren in Java Klasse, aber stellen Sie ihre Implementierung im Code einer anderen Sprache wie C bereit?

Ja, wir können dies durch die Verwendung nativer Methoden tun. Im Falle einer nativen methodenbasierten Entwicklung definieren wir öffentliche statische Methoden in unserem Java Klasse ohne ihre Implementierung und die Implementierung erfolgt dann separat in einer anderen Sprache wie C.


74) Wie werden Destruktoren definiert in Java?

In Java, in der Klasse sind keine Destruktoren definiert, da dies nicht erforderlich ist. Java verfügt über einen eigenen Speicherbereinigungsmechanismus, der die Aufgabe automatisch erledigt, indem er die Objekte zerstört, wenn nicht mehr darauf verwiesen wird.


Java Interviewfragen und -antworten für Personen mit mehr als 5 Jahren Erfahrung

75) Kann eine Variable gleichzeitig lokal und statisch sein?

Nein, eine Variable kann nicht gleichzeitig statisch und lokal sein. Das Definieren einer lokalen Variablen als statisch führt zu einem Kompilierungsfehler.


76) Können wir statische Methoden in einer Schnittstelle haben?

Statische Methoden können in keiner Klasse überschrieben werden, während alle Methoden in einer Schnittstelle standardmäßig abstrakt sind und in den Klassen implementiert werden sollen, die die Schnittstelle implementieren. Daher macht es keinen Sinn, statische Methoden in einer Schnittstelle zu haben in Java.


77) Können wir in einer Klasse, die eine Schnittstelle implementiert, den Wert einer beliebigen in der Schnittstelle definierten Variablen ändern?

Nein, wir können den Wert keiner Variablen einer Schnittstelle in der implementierenden Klasse ändern, da alle in der Schnittstelle definierten Variablen standardmäßig öffentlich, statisch und final sind und finale Variablen wie Konstanten sind, die später nicht mehr geändert werden können.


78) Ist es richtig zu sagen, dass aufgrund der Garbage Collection-Funktion in Java, einem Java-Programm geht nie der Speicher aus?

Auch wenn die automatische Garbage Collection von Javagewährleistet es nicht, dass ein Java Programm wird nicht aus dem Speicher gehen, da die Möglichkeit besteht, dass die Erstellung von Java Die Löschung von Objekten erfolgt im Vergleich zur Garbage Collection schneller, was dazu führt, dass alle verfügbaren Speicherressourcen belegt werden.

Die Speicherbereinigung trägt also dazu bei, die Wahrscheinlichkeit zu verringern, dass ein Programm nicht mehr über genügend Arbeitsspeicher verfügt, stellt dies jedoch nicht sicher.


79) Können wir für die Hauptmethode einen anderen Rückgabetyp als void haben?

Nein, Java Die Hauptmethode der Klasse kann nur den Rückgabetyp „void“ haben, damit das Programm erfolgreich ausgeführt wird.

Wenn Sie jedoch nach Abschluss der Hauptmethode unbedingt einen Wert zurückgeben müssen, können Sie System.exit(int status) verwenden.


80) Ich möchte ein Objekt erneut erreichen und verwenden, nachdem es im Müll gesammelt wurde. Wie ist das möglich?

Sobald ein Objekt vom Garbage Collector zerstört wurde, existiert es nicht mehr auf dem Heap und kann nicht mehr darauf zugegriffen werden. Es gibt keine Möglichkeit, erneut darauf zu verweisen.


81 in Java Thread-Programmierung: Welche Methode muss für alle Threads implementiert werden?

Run() ist eine Methode der Runnable-Schnittstelle, die von allen Threads implementiert werden muss.


82) Ich möchte Datenbankverbindungen in meinem Programm steuern und möchte, dass jeweils nur ein Thread eine Datenbankverbindung herstellen kann. Wie kann ich diese Logik implementieren?

Antwort: Dies kann durch die Verwendung des Konzepts der Synchronisierung umgesetzt werden. Datenbankbezogener Code kann in eine Methode eingefügt werden, die synchronisiert Schlüsselwort, sodass jeweils nur ein Thread darauf zugreifen kann.


83) Wie kann ein Programmierer manuell eine Ausnahme auslösen?

Um manuell eine Ausnahme in einem Codeblock auszulösen, werfen Schlüsselwort verwendet wird. Anschließend wird diese Ausnahme abgefangen und im Catch-Block behandelt.

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

public void excMethod {
    String name = null;
    if (name == null) {
        throw (new ManualException("Exception thrown manually ");
        }
    }

84) Ich möchte, dass meine Klasse so entwickelt wird, dass keine andere Klasse (auch keine abgeleitete Klasse) ihre Objekte erstellen kann. Wie kann ich das tun?

Wenn wir den Konstruktor einer Klasse als privat deklarieren, ist er für keine andere Klasse zugänglich und daher kann keine andere Klasse ihn instanziieren, und die Bildung ihres Objekts ist nur auf sie selbst beschränkt.


85) Wie Objekte gespeichert werden in Java?

In Java erhält jedes Objekt bei seiner Erstellung einen Speicherplatz aus einem Heap. Wenn ein Objekt von einem Garbage Collector zerstört wird, wird der ihm vom Heap zugewiesene Speicherplatz dem Heap neu zugewiesen und steht für neue Objekte zur Verfügung.


86) Wie können wir die tatsächliche Größe eines Objekts auf dem Heap ermitteln?

In Java gibt es keine Möglichkeit, die genaue Größe eines Objekts auf dem Heap herauszufinden.


87) Welcher der folgenden Klassen wird mehr Speicher zugewiesen?

Klasse A: Drei Methoden, vier Variablen, kein Objekt

Klasse B: Fünf Methoden, drei Variablen, kein Objekt

Vor der Erstellung von Objekten wird kein Speicher zugewiesen. Da für beide Klassen keine Objekte erstellt werden, wird für keine Klasse Speicher auf dem Heap zugewiesen.


88) Was passiert, wenn eine Ausnahme in einem Programm nicht behandelt wird?

Wenn eine Ausnahme in einem Programm nicht mithilfe von Try-Catch-Blöcken behandelt wird, wird das Programm abgebrochen und nach der Anweisung, die die Ausnahme verursacht hat, wird keine Anweisung ausgeführt.


89) Ich habe mehrere Konstruktoren in einer Klasse definiert. Ist es möglich, einen Konstruktor aus dem Körper eines anderen Konstruktors aufzurufen?

Wenn eine Klasse über mehrere Konstruktoren verfügt, ist es möglich, einen Konstruktor aus dem Hauptteil eines anderen aufzurufen diese().


90) Was versteht man unter anonymer Klasse?

Eine anonyme Klasse ist eine Klasse, die ohne Namen in einer einzigen Codezeile mit dem Schlüsselwort new definiert wird.

Im folgenden Code haben wir beispielsweise eine anonyme Klasse in einer Codezeile definiert:

public java.util.Enumeration testMethod()

{

    return new java.util.Enumeration()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) Gibt es eine Möglichkeit, die Größe eines Arrays nach seiner Deklaration zu erhöhen?

Arrays sind statisch und sobald wir ihre Größe angegeben haben, können wir sie nicht mehr ändern. Wenn wir solche Sammlungen verwenden möchten, bei denen möglicherweise eine Änderung der Größe (Anzahl der Elemente) erforderlich ist, sollten wir Vektoren gegenüber Arrays vorziehen.


92) Wenn eine Anwendung mehrere Klassen enthält, ist es dann in Ordnung, eine Hauptmethode in mehr als einer Klasse zu haben?

Wenn in einer Java-Anwendung eine Hauptmethode in mehr als einer Klasse vorhanden ist, stellt dies kein Problem dar, da der Einstiegspunkt für jede Anwendung eine bestimmte Klasse ist und der Code nur mit der Hauptmethode dieser bestimmten Klasse beginnt.


93) Ich möchte Daten von Objekten für die spätere Verwendung speichern. Was ist hierfür der beste Ansatz?

Der beste Weg, Daten für die zukünftige Verwendung beizubehalten, ist die Verwendung des Konzepts der Serialisierung.


94) Was ist eine lokale Klasse in Java?

In JavaWenn wir eine neue Klasse innerhalb eines bestimmten Blocks definieren, nennt man sie lokale Klasse. Eine solche Klasse hat lokalen Gültigkeitsbereich und kann außerhalb des Blocks, in dem sie definiert ist, nicht verwendet werden.


95) String und StringBuffer beide repräsentieren String-Objekte. Können wir String und String vergleichen?Buffer in Java?

Obwohl String und StringBuffer Beide stellen String-Objekte dar, wir können sie nicht miteinander vergleichen und wenn wir versuchen, sie zu vergleichen, erhalten wir eine Fehlermeldung.


96) Welche API wird bereitgestellt von Java für Operationen an einer Menge von Objekten?

Java bietet eine Collection-API mit vielen nützlichen Methoden, die auf eine Reihe von Objekten angewendet werden können. Zu den wichtigen Klassen, die von der Collection-API bereitgestellt werden, gehören ArrayList, HashMap, TreeSet und TreeMap.


97) Können wir mit der Typumwandlung jeden anderen Typ in einen booleschen Typ umwandeln?

Nein, wir können weder einen anderen primitiven Typ in einen booleschen Datentyp umwandeln, noch können wir einen booleschen Datentyp in einen anderen primitiven Datentyp umwandeln.


98) Können wir beim Überschreiben unterschiedliche Rückgabetypen für Methoden verwenden?

Die Grundvoraussetzung für das Überschreiben von Methoden in Java ist, dass die überschriebene Methode denselben Namen und dieselben Parameter haben sollte. Aber eine Methode kann mit einem anderen Rückgabetyp überschrieben werden, solange der neue Rückgabetyp den ursprünglichen erweitert.

Beispielsweise gibt die Methode einen Referenztyp zurück.

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) Was ist die Basisklasse aller Ausnahmeklassen?

In Java, Java.lang.Throwable ist die Superklasse aller Ausnahmeklassen und alle Ausnahmeklassen werden von dieser Basisklasse abgeleitet.


100) Wie ist die Reihenfolge beim Aufruf von Konstruktoren bei der Vererbung?

Bei der Vererbung wird beim Erstellen eines neuen Objekts einer abgeleiteten Klasse zunächst der Konstruktor der Oberklasse und dann der Konstruktor der abgeleiteten Klasse aufgerufen.

Bereiten Sie sich auf Ihr Vorstellungsgespräch vor!!! Durchgehen Java Einführung um besser vorbereitet zu sein.

Dies detailliert Java Mock Test Quiz wird Ihnen helfen, die Zweifel zu beseitigen über Java Interviewfragen und wird Ihnen auch helfen, das Interview zu meistern.

Diese Java und Java 8 Interviewfragen wird auch bei Ihrer Viva (mündlich) hilfreich sein