Java Interview-Fragen: #1 Java Grundlagen
7. April 2025 - Lesezeit: 22 Minuten
: Java Grundlagen, Objektorientierte Programmierung (OOP), Datenstrukturen und Algorithmen, Exception Handling und Multithreading und ich werde auf die wichtigsten Fragen zu diesen Themen eingehen, die Antworten und falls nötig auch weitere Informationen dazu geben.
Im heutigen Beitrag geht es nun um Fragen zu den Java Grundlagen.
#1 Was ist der Unterschied zwischen JDK und JRE? |
JDK steht für Java Development Kit welches die Software Entwicklungsumgebung ist um Java Anwendungen zu entwickeln. JRE steht für die Java Runtime Enviroment welche benötigt wird um Java Anwendungen auszuführen. |
#2 Warum ist Java eine plattformunabhängige Sprache? |
Da Java auf einer virtuellen Maschine basiert, ist es plattformunabhängig. In der Praxis bedeutet dies, dass sowohl die Java-Programmiersprache als auch die zugehörigen APIs zunächst in Bytecodes kompiliert werden, die auf mehreren Plattformen ausgeführt werden können. Anschließend kümmert sich die virtuelle Maschine um alle Unterschiede bei der Ausführung dieser Bytecodes auf den verschiedenen Plattformen. |
#3 Was ist der Unterschied zwischen einer abstrakten Klasse und einem Interface? |
Eine abstrakte Klasse ist eine Klasse, die nicht instanziiert werden kann und nur vererbt werden kann. Eine Schnittstelle ist ein Entwurf einer Klasse, der nur abstrakte Methoden und Konstanten enthält. |
#4 Was ist der Unterschied zwischen final, finally und finalise? |
Final wird verwendet, um eine Variable oder Methode konstant zu machen, so dass sie später nicht mehr geändert werden kann. finally wird in try-catch-Blöcken verwendet, um einen Codeblock auszuführen, unabhängig davon, ob eine Exception ausgelöst wird oder nicht. finalise ist eine Methode, die vom Garbage Collector aufgerufen wird, wenn ein Objekt nicht mehr verwendet wird. |
#5 Was ist der Unterschied zwischen stack und heap Speicher? |
Der stack-Speicher wird für die Speicherung lokaler Variablen und Funktionsaufrufe verwendet, während der Heap-Speicher für die Speicherung von Objekten und deren Instanzvariablen verwendet wird. |
#6 Was ist der Unterschied zwischen Überladen und Überschreiben einer Methode? |
Unter Methodenüberladung versteht man die Erstellung mehrerer Methoden in einer Klasse mit demselben Namen, aber unterschiedlichen Parametern, während Methodenüberschreibung die Erstellung einer Methode in einer Unterklasse mit demselben Namen und denselben Parametern wie eine Methode in ihrer Oberklasse bedeutet. |
#7 Was ist der Unterschied zwischen dem privat und protected Modifikator? |
Ein private-Modifikator macht ein Mitglied nur innerhalb der gleichen Klasse zugänglich, während ein protected-Modifikator ein Mitglied innerhalb der gleichen Klasse und ihrer Unterklassen zugänglich macht. |
#8 Was ist Konstruktor-Überladung in Java? |
Konstruktorüberladung ist ein Konzept in der objektorientierten Programmierung, bei dem eine Klasse mehrere Konstruktoren mit unterschiedlichen Parameterlisten haben kann. Jeder Konstruktor bietet eine andere Möglichkeit, Objekte dieser Klasse zu initialisieren. |
#9 Was bedeutet das super-Schlüsselwort in Java? |
Das super-Schlüsselwort wird verwendet, um auf Datenelemente der Elternklasse zuzugreifen, wenn die Datenelemente der Elternklasse und ihrer untergeordneten Klassen gleich sind, um den Standard- und parametrisierten Konstruktor der Elternklasse innerhalb der untergeordneten Klasse aufzurufen und um auf Methoden der Elternklasse zuzugreifen, wenn die untergeordneten Klassen sie überschrieben haben. |
#10 Was ist der Unterschied zwischen statitschen Methoden, statischen Variablen und statischen Klassen in Java? |
Statische Methoden und statische Variablen sind die Methoden und Variablen, die zur Klasse des Java-Programms gehören, nicht zum Objekt der Klasse. Ihnen wird Speicher zugewiesen, wenn die Klasse geladen wird und sie können direkt mit Hilfe der Klassennamen aufgerufen werden. |
#11 Was genau ist das System.out.println in Java? |
System.out.println() ist eine Methode, um eine Nachricht auf der Konsole zu drucken. System - das ist eine Klasse, die im java.lang-Paket vorhanden ist. Out ist die statische Variable des Typs PrintStream, die in der Klasse System vorhanden ist. println() ist die Methode, die in der Klasse PrintStream vorhanden ist |
#12 Welcher Teil des Speichers - Stack oder Heap - wird durch den Garbage Collector bereinigt? |
Die Garbage Collection wird auf dem Heap-Speicher durchgeführt, um den Speicher freizugeben, der von Objekten verwendet wird, auf die kein Verweis besteht. Jedes im Heap-Speicher erstellte Objekt hat globalen Zugriff und kann von überall in der Anwendung referenziert werden |
Hand aufs Herz: Wie viele dieser Fragen hättest du ohne langes Nachdenken beantworten können? Lass es mich in den Kommentaren wissen!