Question | Answer |
JavaDoc | . |
Was ist JavaDoc und wozu dient es? | JavaDoc ist ein Programm, welches Kommentare in eine HTML Struktur einfügt und deren Informationen bereitstellt, die vordefiniert oder selbst beigefügt werden. |
Wie werden Kommentare im Code für JavaDoc gekennzeichnet? | /** Code */ |
Nenne vier JavaDoc-Tags und wozu sie verwendet werden. | @author - Gibt den Author an @version - aktuelle Programmversion @since - seit wann aktuelle Version @deprecated - veraltete Komponenten, die bald entfernt werden sollten |
Wie importiert man eine einzelne Klasse oder ein ganzes Paket? | import java.<Paketname>.<Klassenname>; import java.<Paketname>.*; |
Was ist der Unterschied zwischen JDK und JRE? | JDK: Java Development Kit, enthält JRE und Werkzeuge JRE: Java Runtime Environment, enthältt Komponenten zum Ausführen des Programms, z.b. Interpreter |
UML | . |
Wofür wird UML verwendet? | Abstrakte Darstellung von Voraussetzungen, Beziehungen und Abläufen. |
Zwischen welchen beiden Diagrammtypen wird unterschieden? | Strukturdiagramme und Verhaltensdiagramme. |
Woraus besteht eine Klasse? | Name, Attribute, Methoden. |
Was ist eine bidirektionale Assoziation? | Beide Klassen können aufeinander zugreifen. (Bi - 2!) |
Was bedeutet Vererbung zwischen Akteuren? | Erbender spricht auf selbe Verwendung an wie der Vererbende. (Gleiche Attribute und Methoden) |
Kapselung / Privatsphäre und Sichtbarkeit | . |
Wofür dient die Privatsphäre Einschränkung (Kapselung)? | Zugriffskontrolle auf Attribute und Methoden einer Klasse. (privat, public, ...) |
Welche 4 Sichtbarkeiten von Methoden und Attributen gibt es? | öffentlich - public geschützt - protected paketsichtbar - n.v. privat - private |
Mit welcher Sichtbarkeit kann ein Attribut von einer anderen Klasse im Package geändert werden? | public/package |
Mit welcher Sichtbarkeit kann ein Attribut von derselben Klasse aus geändert werden? | Mit allen, da die Sichtbarkeiten nur für anderen Klassen gelten, aber intern von der Klasse selbst aufgerufen werden können. |
Warum kann im folgenden Beispilecode die Variable anzahlZeichen nicht von einer anderen Klasse ausgelesen werden? (siehe Powerpoint) | Die Variable ist zwar public, die Methode an sich allerdings nicht, daher kann die Methode selbst gar nicht erst aufgerufen werden. |
Objekte anlegen und zerstören | . |
Wie werden Objekte allgemein erzeugt und welche Ausnahmen gibt es? | Allgemein: new-Operatpor Ausnahmen sind: Strings und Arrays |
Woraus bestehen Objekte in Java? | Objekte bestehen aus Methoden und Attributen aus der vererbenden Klasse. |
Wodurch werden in Java nicht mehr benötigte Objekte gelöscht? | Durch den Garbage Collector. (Zeigt ein Objekt auf null -> wird gelöscht) |
Was muss getan werden, damit ein Objekt gelöscht werden kann? | Ein Objekt wird gelöscht sobald kein Verweis mehr vorhanden ist. -> Objekt auf null zeigen lassen |
Was ist der Unterschied zwischen Heap und Stack? | Stack Speicher enthält Methoden und lokale Variablen, main()... Heap Speicher enthält Objekte Heap kann vom Garbage Collector gelöscht werden |
Umgang mit Zeichenketten | . |
Was ist der unterscheidet einen String von anderen Datentypen? | Komplexer Datentyp, der Zeichen|Zeichenketten|Zahlen aufnehmen kann. |
Was ist der Unterschied bei der Erzeugung eines Strings mit diesen Befehlen? (siehe Powerpoint) [1] String = "Hallo"; [2] String b = new String("Hallo"); | Bei [1] wird ein neues Objekt mit Literal im Pool erzeugt (Möglichkeit zur Referenz), bei [2] wird ebenfalls ein neues aber eigenes Objekt ohne Pooleintrag erzeugt. |
Gibt es eine Größenbeschränkung für Strings? | Nein (nur die Ressourcen des Computers) Größe ist abhängig von den Zeichen (1 char = 2 Byte (16 Bit)) |
Warum wird "String "immer groß geschrieben? | String ist in Java eine eigene Klasse, die aufgerufen und verwendet wird. |
Was ist der Unterschied bei der Prüfung mit einem Gleichheitsoperator (==) und der Methode equals()? | Gleichheitsoperator (==) prüft lediglich die Literale im Pool, Methode equals() prüft das gesamte String-Objekt auf Gleichheit. |
Wrapper-Klassen und Autoboxing | . |
Was sind Wrapper-Klassen? | Klassen deren Objekte primitive Datentypen enthalten. |
Was versteht man unter dem Begriff Unboxing? | Umwandlung von Wrapper-Klasse in einen primitiven Datentyp. |
Wofür benötigt man Wrapper-Klassen? | Referenzen (Listen, Mengen); primitive Datentypen als String darstellen und umgekehrt. |
Wo verwendet man Wrapper-Klassen? | Überall wo man keine Werte, sondern nur die Art des Wertes definieren möchte. |
Wie heißt die Wrapper-Klasse zu dem primitiven Datentyp "char"? | "Character" |
Vererbung und Methoden überschreiben | . |
Wie lautet die Annotation zum Überschreiben von Methoden? | @Override |
Welche Vorteile bringt die Vererbung von Attributen und Methoden? | Übersichtlichkeit Einfachheit der Wartung Wenig Code |
Welchen Vorteil bietet das Verwenden der Override-Annotation | Zeigt einen Fehler an, falls keine übergeordnete Methode gefunden wurde. |
Wie lautet das Keyword um eine Vererbung zu definieren? | extends |
Wie lautet die Methode für die Übergabe von Parametern an den Konstruktor der Oberklasse? | super(); |
Schnittstellen (Interfaces) Polymorphie | . |
Was ermöglicht das Konzept der Polymorphie? | Man kann ein Objekt erzeugen und es einem anderen Datentyp zuweisen. |
Wann kann einem Objekt ein anderer Datentyp zugewiesen werden? | Wenn sich beide Klassen in der gleichen Vererbungsliste befinden. |
Welche Vorteile bietet die Polymorphie dem Programmierer? | Einfachheit der Wartung Einfachheit bei Erweiterungen |
Wozu braucht man Interfaces? | Um unterschiedlichen Objekten eine gemeinsame Verhaltensweise zuzuordnen,. z.B. Methoden zuweisen, auf die die Objekte unterschiedlich reagieren. |
Wie wird ein Interface in eine Klasse implementiert? | Mit "implements" können beliebig viele Interfaces in eine Klasse implementiert werden. |
Abstrakte Klassen und abstrakte Methoden | . |
Kann eine abstrakte Klasse auch aus nicht abstrakten Methoden bestehen? | Ja, sie kann aus nicht abstrakten Methoden bestehen. |
Wie lässt es sich von einer Unterklasse auf eine Oberklasse zurückgreifen? | extends |
Wie nennt man abstrakte Klassen mit nicht abstrakten Methoden? | partielle abstrakte Methoden |
Welcher Zugriffsmodifikation unterliegen abstrakte Klassen? | public und protected |
Was bedeutet super()? | Aufruf des Konstruktors der Oberklasse |
Ausnahmebehandlung | . |
Zu was führt eine unerwartete Exception in Java? | Zu einem Programmabsturz | Zu einer Fehlerausgabe |
Zu welchem Zeitpunkt tritt eine Exception auf? | Beim ausführen den Programmes |
Nenne 2 Exception-Arten. | NullPointerException | ArrayIndexOutOfBound | IllegalArgumentException | IllegalStateException | NumberFormatException | ArithmaticException |
Nenne die 3 Blöcke und ihre Bedeutung. | try (Ausführen eines Codes, ansonsten <throw Exception>)| catch (fängt die Exception ab und kann Ereignis auslösen)| finally (Code der egal ob Exception stattfand oder nicht ausgeführt wird) |
Für was wird "throw" genutzt? | Zum "werfen" einer Exception um möglichen Programmabstürzen durch falsche Ausführungen vorzubeugen. (z.B. bei Benutzereingaben) |
Grundlagen von Annotation und Generics Collection | . |
Was wird beim Kompilieren passieren? (siehe Powerpoint) public static @Deprecated void ausgabe() { System.out.print("Hallo Welt!"); } public static void main(String[] args) { ausgabe(); } | Meldung das ausgabe() @Deprecated ist Abhilfe: @SuppressWarnings({"deprecation"}) -> sorgt für keine ungewollte Ausgabe, zeigt dem Programmierer an, das sie veraltet ist |
Was ist die Besonderheit generischer Klassen? | Objekte können mit verschiedenen Datentypen erstellt werden, Variablen und Methoden passen sich entsprechend an. ("generisch") |
Wozu dient @Override? | Zum Markieren, dass die Methode überschrieben wurde nachdem sie von der Oberklasse vererbt wurde. |
Was hält der Compiler vom Typecast? | Der Programmierer kann Typumwandlung erzwingen. Er "akzeptiert" es, aber es kann dennoch ein Fehler bei unumwandelbaren Datentypen auftreten. |
Wie definiert man hier einen Standardwert in einer Annotation? (siehe Powerpoint) String programmiersprache(); | programmiersprache() default "Java"; |
Iterator, Iterable | . |
Welche Interfaces müssen implementiert werden? | Iterable<T>, Iterator<T> |
Welche Methoden setzen diese jeweils voraus? | Iterable<T>: iterator(), Iterator<T>: hasNext(), next(), remove() |
Wozu kann remove() verwendet werden? | Veränderung der Datenstruktur innerhalb der erweiterten for-Schleife |
Was gibt iterator() zurück? | Ein Objekt das Iterator<T> implementiert |
Welches Package wird benötigt? | import java.util.Iterator; |
Design-Pattern (Entwurfsmuster) | . |
Nennt die drei Kategorien von Design Patterns. | Creational |ErzeugungsStructural | StrukturBehavioral | Verhaltens... |
Auf welche Programmiersprachen sind Design Patterns beschränkt? | Auf Keine! Sie sind Sprachen unabhängig (zumindest unter objektorientierten Sprachen) |
Was ist Sinn und Zweck der Singleton Pattern? | Es soll eine Klasse erstellen von dem nur ein Objekt intanziert werden kann. |
Alle Membervariablen des Immutable sind unveränderlich, wie wird das erreicht? | Die Variablen und Klassen müssen private und final sein. Die Variablen müssen statisch sein oder mit dem Konstruktor gesetzt werden. |
Wofür verwendet man das Adapter Pattern? | Um Klassen mit inkompatiblen Interfaces kompatibel zu machen ohne sie selbst zu ändern. |
Threads Programmierung | . |
Mit welchen zwei Methoden kann man Threads realisieren? | Klasse Thread | Interface Runnable |
Was haben alle Threads eines Programms gemeinsam? | Den Prozess | Daten, Dateien und Code |
Was kann man mit dem Keyword synchronized versehen? | Methoden oder Blöcke von Code |
Wie viele Kerne muss ein Prozessor für das Verwenden des Threads mindestens haben? | Einen. |
Welche Aufgabe übernimmt der Scheduler? | Bestimmt, welcher Thread als nächstes ausgeführt werden. |
Listen | . |
Welche Art von Datentypen sind in der ArrayList erlaubt? | Es sind nur komplexe Datentypen erlaubt. |
Mit welcher Anfangskapazität wird eine ArrayList erstellt? | Sie wird mit einer Anfangskapazität von 10 Elementen erstellt. |
Nenne einen Vorteil der ArrayList. | Schneller Zugriff auf einzelne Elemente. |
Was ist der Unterschied zwischen einer doppelt- und einer einfach verketteten Liste? | Die doppelt verkettete Liste besitzt zusätzliche Referenzen auf den Vorgänger. |
Kann der ListIterator die Liste in beide Richtungen durchlaufen? | Ja. |
Grafische Oberflächen | . |
Was ist der Unterschied zwischen einem JTextField und einer JTextArea? | Die JTextArea ermöglicht Textanzeige in mehreren Zeilen. |
Nenne zwei verschiedene Möglichkeiten zur Erstellung einer GUI | Einmal mit dem grafischen Editor und einmal klassisch programmieren. |
Nenne ein Layoutformat und dessen Funktion? | GridLayout: Einteilung eines Panels in gleichgroße Panels |
Was muss man einem Button hinzufügen damit dieser eine Aktion ausführt? | Einen ActionListener |
Nenne einen Container und erkläre dessen Funktion/Besonderheit | JScrollPane - Ermöglicht das Scrollen in einem Container JPanel - Standard-Container |
Dateien / Dateiströme | . |
Zwischen welchen Typen von Ein- und Ausgabeklassen unterscheidet man? | Zeichen- und Byteorientierten Klassen |
Welche Exception fängt man bei Dateizugriff ab? | IOException |
Wie lese ich Dateien über eine URL ein? | URL Objekt erstellen -> openStream() Methode aufrufen -> an InputStreamReader übergeben -> an BufferedReader übergeben |
Was muss man in Textdateien von unterschiedlichen Betriebssystemen n beachten? | Verschiedene EOL Charakterfolgen |
Warum sollte man am besten BufferedReader verwenden? | Statt 2 Byte Zeichen einzeln zu konvertieren, werden mehrere Zeichen "gebuffered" und so schneller abgearbeitet. |
Datenbanken | . |
Wofür werden Datenbanken genutzt? | Zur sortierten Informationssammlung und -Übersicht. |
Nenne 3 Befehle einer Abfrage in SQL. | SELECT | FROM | WHERE | DESC | ASC |
Wie werden Datenbanken in Java integriert? Teil 1 | |
Wie werden Datenbanken in Java integriert? Teil 2 | |
Wie wird ein Programmabsturz aufgrund falscher Eingaben verhindert? | Durch Prepared-Statements und entsprechenden Exceptions im Try-Catch-Block. |
Was macht folgende SQL-Abfrage? (siehe Powerpoint) SELECT* FROM TabelleA INNER JOIN Tabelle B ON TabelleA.Index = TabelleB.Liste | Alles von Tabelle A, wo TabelleA.Index mit TabelleB.Liste übereinstimmt. |
JUnit Tests | . |
Was ist JUnit? | Testing-Framework |
Was macht man bei Unit-Tests? | Testen einzelner Methoden/Klassen ohne Abhängigkeiten. |
Wie ist die Annotation für eine Testklasse? | @Test |
Wozu dient @BeforeEach? | Folgendes wird vor jedem Test ausgeführt. |
Wozu dient @AfterEach? | Wird nach jedem Test ausgeführt. |
Java-Servlets | . |
Was sind Servlets? | Java Klassen |
Für was werden Java Servlets verwendet? | Dynamische Websiten |
Was machen die doGet und doPost Methoden? | doGet = request /*anfragen*/ doPost = response /*senden*/ |
Wie ist der Lebenszyklus eines Servlets? | init(), service(), destroy() |
In welcher Bibliothek sind die Servlets enthalten? | import java.servlet.Servlet; |
Want to create your own Flashcards for free with GoConqr? Learn more.