| 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.