Java-spicker PDF

Title Java-spicker
Course Programmierung und Software-Entwicklung (PSE)
Institution Universität Stuttgart
Pages 19
File Size 309.5 KB
File Type PDF
Total Downloads 79
Total Views 132

Summary

Java-Spicker...


Description

Java - Spickzettel ©J. Urs Zimmermann überarbeitet von – Matthias Schneiders – Lucas Sack – Werner Steer

Basierend auf: Java lernen mit BlueJ (Pearson Studium) Java2 für Dummies (Wiley-VCH) Jetzt lerne ich JAVA (Markt + Technik) Lerntexte (Prof. D.Phil. habil. Schmidt) http://www.virtualuniverity.ch

Version 1.2

02.Sept.2007

abstract

zeigt an, dass die Details einer Klasse, einer Methode oder eines Interfaces an einer anderen Stelle des Codes beschrieben werden

Abstrakte Klasse Eine abstrakte Kasse ist eine Klasse, von der keine Instanzen erzeugt werden sollen Sie dient ausschließlich als Superklasse für andere Klassen Abstrakte Klassen dürfen abstrakten Methoden anbieten

Abstrakte Methode Die Definition einer abstrakten Methode besteht aus einer Methodensignatur ohne einen Rumpf Sie wird mit dem Schlüsselwort abstract markiert

Abstrakte Subklassen Damit eine Subklasse einer abstrakten Klasse eine konkrete Klasse werden kann, muss sie Implementierungen für alle geerbten abstrakten Meth anbieten Sonst ist sie ebenfalls abstrakt

Anonyme innere Klassen Anonyme innere Klassen sind ein nützliches Konstrukt zur Implementierung von EventListener

Anweisung siehe Bedingte Anweisung

Array Ein Array ist eine besondere Art von Sammlung, die eine festgelegte Anzahl von Elementen halten kann

Bedingte Anweisung Eine Bedingte Anweisung führt eine von zwei Aktionen aus, abhängig vom Ergebnis einer Prüfung Boolescher Ausdruck wird oft verwendet um den die Auswahl zwischen zwei Ausführungspfaden zu ein einer Bedingten Anweisung zu treffen

Bildformate Digitale Bilder können in unterschiedlichen Formaten gespeichert werden Die Unterschiede wirken sich primär auf Größe & den Informationsgehalt aus

Boolescher Ausdruck Ein Boolescher Ausdruck kann nur den Wert TRUE oder FALSE haben Wird oft verwendet um den die Auswahl zwischen zwei Ausführungspfaden zu ein einer Bedingten Anweisung zu treffen

Collections Collections sind Objekte, die andere Objekte auf Grund einiger Regeln halten können Liste (LinkedList, ArrayList) Keller (Stack) Menge ( HashMap) Ab Java 1.5 sind alle Collection-Klassen GENERISCH jede Deklaration sollte enthalten Was zwischen < und > steht teilt Java mit, welche Art von Werten die neue Collection enthalten darf

Datenfelder Datenfelder speichern die Daten die ein Objekt benutzt Datenfelder werden auch als Instanzenvariablen bezeichnet. Zugriffsmodifikatoren definieren die Sichtbarkeit eines Datenfelds, eines Konstruktors oder einer Meth. Datenfelder und Meth, die als protec protected ted deklariert sind, sind für (direkte & indirekte) Subklassen zugreifbar

Daten-Typen boolean true/false char 16 Bits 'A' byte 8 Bits -128 short 16 Bits -32768 int 32 Bits -2.147.483.648 long 64 Bits - 9.223.372.036.854.775.808 float 32 Bits -3,4 * 1038 double 64 Bits -1,8 * 10308

bis bis bis bis bis bis

+127 +32767 +2.147.483.647 +9.223.372.036.854.775.807 +3,4 * 1038 +1,8 * 10308

Debugger Debugger ist ein Software-Werkzeug, mit dessen Hilfe die Ausführung eines Programms untersucht werden kann Man kann mit seiner Hilfe Fehler finden

Dokumentation Die Dokumentation einer Klasse sollte genau die Infos bieten, die andere Programmierer benötigen, um die Klassen ohne einen Blick auf die Implementierung benutzen zu können

Dokumentation einer Bibliothek Die Dokumentation der Standardbibliothek von Java zeigt Infos über alle Klassen der Bibliothek Die Benutzung dieser Dokumentation ist unerlässlich für den vernünftigen Gebrauch der Bibliotheksklassen

Ereignisverarbeitung Der Begriff bezeichnet die Aufgabe, auf Benutzereingabe (Mausklicks, Taste, etc) zu reagieren

Event-Listener Ein Obj kann auf Ereignisse „lauschen“, indem es ein Event-Listener-Interface implementiert

Exception Eine Exception ist ein Obj, das Infos über einen Programmfehler hält Eine Exception wird ausgelöst, um zu signalisieren, dass ein Fehler aufgetreten ist Der Vorteil von Exceptions vor allem die Trennung von Fehlerauslösung & Fehlerbehandlung

Exception, Ungeprüfte Ungeprüfte Exceptions sind Exception-Typen, bei deren Verwendung der Compiler keine zusätzlichen Überprüfungen vornimmt

Exception, Geprüfte Geprüfte Exceptions sind Exception-Typen, bei deren Verwendung der Compiler zusätzliche Überprüfungen durchführt und einfordert Insbesondere erfordern geprüfte Exceptions in Java, dass throw-Klauseln und try-Blöcke angegeben werden müssen

Exception-Handler Ein Programmabschnitt, der Anweisungen schützt, in denen eine Exception ausgelöst werden kann Er definiert Anweisungen zur Meldung und/oder zum Wiederaufsetzen nach einer aufgetretenen Exception siehe nächste Seite!

Beispiel import ea.*; public class Beispiel{ Ausgabe.schreib(„1. Ganzahl: “); int operand1 = Eingabe.liesInt(); Ausgabe.neueZeile(); Ausgabe.schreib(„2. Ganzahl: “); int operand2 = Eingabe.liesInt(); Ausgabe.neueZeile(); try { //Ausrechnen des Restes der Ganzahl-Division Ausgabe.schreib(„Der Rest ist :“ + (operand1 % operand2)); } catch (ArethmeticException e) { Ausgabe.schreib(„Achtung! Berechnungsfehler!“); Ausgabe.neueZeile(); Ausgabe.schreib(„Problem:“ + e.getMessage()); } } }

final Variablen mit dem Attribut final dürfen nicht verändert werden, sind also als Konstanten anzusehen Methoden des Typs final dürfen nicht überlagert werden final nal dürfen nicht zur Ableitung neuer Klassen verwendet werden Klassen des Typs fi Falls eine Methode oder Klasse das Attribut final besitzt kann der Compiler in der Regel auf die dynamische Methodensuche verzichten, final-Methoden können daher schneller aufgerufen werden als normale Methoden Einige der bei Java mitgelieferten Klassen sind aus diesem Grund als final deklariert, ein Beispiel hierfür ist die Klasse String. Dies führt aber gleichzeitig dazu, daß diese Klassen nicht mehr erweitert werden können.

Geheimnisprinzip Das Geheimnisprinzip sagt, dass die internen Details der Implementierung einer Klasse vor anderen Klassen verborgen sein sollten Das unterstützt die Modularisierung von Anwendungen

Instanzen Von einer Klassen können viele gleichartige Instanzen erzeugt werden

Interface Ein Interface in Java ist eine Spezifikation eines Typs (in Form eines Typnamens und einer Menge von Methoden), die keine Implementierungen für die Methoden definiert Interfaces dienen dazu Methodendeklarationen von mehreren Klassen zu vererben Ein Interface ist ein besondere Form einer Klasse, die ausschließlich die Definition von Methoden und Konstanten enthält, nicht aber ihre Implementierung, sogenannte abstrakte Objekte Auch abgeleitete Klassen können Interfaces implementieren. Eine Klasse kann eine beliebige Anzahl von Interfaces implementieren. Interfaces lassen sich vererben.

Iterator Iterator ist ein Obj, mit dessen Hilfe über alle Elemente einer Sammlung iteriert werden kann Iterator iterator( )

liefert einen Iterator für die Datenstruktur

boolean hasNext( )

TRUE, wenn noch unbesuchte Elemente vorhanden

Object next( )

das nächste Element liefern

Kapselung Saubere Kapselung reduziert die Kopplung & führt daher zu besseren Entwürfen

Klassen - Objekte werden durch Klassen erzeugt. Eine Klasse beschreibt einer bestimmte Art von Objekten; Objekte repräsentieren individuelle Instanzen einer Klasse Von einer Klassen können viele gleichartige Instanzen erzeugt werden Kommentare werden im Quelltext einer Klasse angegeben, um dem Leser Erläuterungen zu geben Klassendiagramm zeigt die Klasse einer Anwendung & Beziehungen zwischen diesen Klassen. Es liefert Infos über den Quelltext Es präsentiert eine statische Sicht auf das Programm Eine Klasse kann mehr als einen Konstruktor oder Meth. Mit dem gleichen Namen enthalten, solange jede von ihnen einen unterscheidbaren Satz von Parametertypen definiert.(Überladen) public lic) Elemente sind sowohl innerhalb der definierten Klasse zugreifbar als Öffentliche (pub auch von anderen Klassen aus. Private (private) Elemente sind sind ausschließlich innerhalb der der definierten Klasse zugreifbar Das Geheimnisprinzip sagt, dass die internen Details der Implementierung einer Klasse vor anderen Klassen verborgen sein sollten Datenfelder von Klassen werden Klassenvariablen oder auch statische Variablen genannt Kopplung beschreibt den Grad der Abhängigkeit zwischen Klassen Eine Superklasse ist einer Klasse, die von einer anderen Klasse erweitert wird. siehe nächste Seite!

Vererbung erlaubt uns, eine Klasse als Erweiterung einer anderen zu definieren Eine Subklasse ist eine Klasse, die eine andere Klasse erweitert bzw. von dieser Klasse erbt - Klassen die über Vererbungsbeziehungen miteinander verknüpft sind, bilden eine Vererbungshierarchie

Klassendiagramm Klassendiagramm zeigt die Klasse einer Anwendung & Beziehungen zwischen diesen Klassen. Es liefert Infos über den Quelltext Es präsentiert eine statische Sicht auf das Programm

Klassenvariablen / statische Variablen Datenfelder von Klassen werden Klassenvariablen oder auch statische Variablen genannt Von einer Klassenvariablen existiert immer nur genau eine Kopie, unabhängig von der Anzahl der erzeugten Instanzen

Kommentar Kommentare werden im Quelltext einer Klasse angegeben, um dem Leser Erläuterungen nzu geben Sie haben keinen Einfluß auf die Funktionalität einer Klasse

Komponenten Eine GUI wird erzeugt, indem Komponenten auf dem Bildschirm arrangiert werden Komponenten werden durch Obj repräsentiert

Konstruktoren Konstruktoren ermöglichen, dass ein Objekt nach seiner Erzeugung in einen gültigen Zustand versetzt wird Eine Klasse kann mehr als einen Konstruktor oder Meth. Mit dem gleichen Namen enthalten, solange jede von ihnen einen unterscheidbaren Satz von Parametertypen definiert.(Überladen) Zugriffsmodifikatoren definieren die Sichtbarkeit eines Datenfelds, eines Konstruktors oder einer Meth

Kopplung Kopplung beschreibt den Grad der Abhängigkeit zwischen Klassen Wir streben für ein System eine möglichst lose Kopplung an – also ein System, in dem jede Klasse weitgehend unabhängig ist und mit anderen Klassen nur über möglichst schmale, wohl definierte Schnittstellen kommuniziert

Layout Das Layout der Komponenten, also ihre Anordnung auf dem Bildschirm, wird durch den Layout-Manager kontrolliert

Lebensdauer Die Lebensdauer einer Variablen legt fest, wie lange sie existiert, bevor sie zerstört wird.

Lesen von Daten aus Dateien -

Listen Es wird von 0 ab gezählt => letztes Element hat den Index size()-1!!! Nur OBJEKTE - - Keine primitiven Datentypen (wenn => Wra Wrapper pper-Klassen) => z.B. add(new Integer(4)) Integer vier = new Integer(4); // XXXValue(); int v = vier.intValue(); Listen dürfen Doubletten enthalten siehe nächste Seite!

Benutzer hat volle Kontrolle => Zugriff auf jedes Element in der Liste in beliebiger Reihenfolge Man kann an jeder Stelle etwas einfügen oder löschen new w LinkedList(); Instanziierung => Linked LinkedList List lis liste te = ne ArrayList Implementiert Listen-Funktionalität durch die Abbildung auf ein Feld implementiert die Schnittstelle List. Schnell bei direktem Zugriff (z.B. mit get()) Langsam bei Einfügen & Löschen (Array muß umgeschrieben werden) LinkedList ist eine doppelt verkettete Liste, also eine Liste von Einträgen mit einer Referenz auf den jeweiligen Nachfolger und Vorgänger. Schnell beim Einfügen und Löschen von Elementen an beliebigen Stellen innerhalb der Liste Langsam bei direktem Zugriff (Liste muß komplett durchlaufen werden) int size( )

liefert die Anzahl der Elemente zurück

boolean isEmpty( )

liefert true, wenn keine Elemente vorhanden sind

boolean contains(Object o)

liefert true, wenn das Element in der Struktur vorhanden ist

clear( )

löscht alle Elemente

Object[] toArray[]/ ( )

Umwandlung in ein Feld

Iterator iterator( )

liefert einen Iterator

boolean hasNext()

true, wenn noch unbesuchte Elemente vorhanden sind

Object next( )

das nächste Element liefern

boolean add(Object o)

Einfügen von o am Ende

add(int i, Object o)

Einfügen von o an Position i

boolean remove(int i)

Löschen des Objekts an Position i

boolean remove(Object o)

Löschen des Objekts o

int indexOf(Object o)

Erstes Auftreten des Objektes in der Liste

int lastIndexOf(Object o)

Letztes Auftreten des Objektes in der Liste

Mengen / Maps (Hashtabellen) Nur OBJEKTE - - Keine primitiven Datentypen (wenn => Wra Wrapper pper-Klassen) => z.B. add(new Integer(4)) Integer vier = new Integer(4); // XXXValue(); int v = vier.intValue(); siehe nächste Seite!

Map ist eine Sammlung, die Schlüssel-Wert-Paare als Einträge enthält Ein Wert kann ausgelesen werden, indem sein Schlüssel angegeben wird Kann keine Doublette enthalten

Menüzeile / Inhaltsfläche Komponenten werden in einem Fenster platziert, indem sie entweder in die Menüzeile (menu bar) oder die Inhaltsfläche (content pane) eingefügt werden

Methoden Wir können mit Objekten kommunizieren, indem wir ihre Methoden aufrufen Meth. haben 2 Teile: Kopf und Rumpf Ein Objekt tut üblicherweise etwas, wenn eine seiner Methoden aufgerufen wird Methoden können Parameter haben, mit denen zusätzliche Infos für eine Aufgabe angegeben werden Der Kopf einer Methode wird als ihre Signatur bezeichnet. Sie benennt die benötigten Informationen für einen Aufruf der Methode Meth. Können miteinander kommunizieren indem sie gegenseitig ihre Meth. Aufrufen. Methoden können Infos über ein Objekt durch einen Ergebniswert zurückliefern. Sondierende Meth. liefern Infos über den Zustand eines Obj.(get) Verändernde Meth. ändern den Zustand eines Obj. (set) Eine Klasse kann mehr als einen Konstruktor oder Meth. Mit dem gleichen Namen enthalten, solange jede von ihnen einen unterscheidbaren Satz von Parametertypen definiert.(Überladen) Meth können andere Meth der eigenen Klasse als Teil ihrer Implementierung aufrufen (=>Interner Methodenaufruf) Meth können Meth von anderen Obj über Punkt-Notation aufrufen (=> Externer Methodenaufruf) Zugriffsmodifikatoren definieren die Sichtbarkeit eines Datenfelds, eines Konstruktors oder einer Meth. Eine Subklasse kann die Implementierung einer Meth überschreiben protected ted deklariert sind, sind für (direkte & indirekte) Datenfelder und Meth, die als protec Subklassen zugreifbar

Methodenaufruf Meth können andere Meth der eigenen Klasse als Teil ihrer Implementierung aufrufen (=>Interner Methodenaufruf) Meth können Meth von anderen Obj über Punkt-Notation aufrufen (=> Externer Methodenaufruf)

Methodendeklaration ist Methoden mit / ohne Rückgabewert besteht aus Formaler Parameter Deklaration (Übergabewerte & -argumente) Modifier (gibt Zugriffsrechte an) Indentifier (der Bezeichner)

Methoden-Polymorphie Methodenaufrufe in Java sind polymorph Derselbe Methodenaufruf kann zu unterschiedlichen Zeitpunkten verschiedene Meth aufrufen, abhängig vom dynamischen Typ der Variablen, mit der der Aufruf durchgeführt wird

Modularisierung Modularisierung ist der Prozess der Zerlegung eines Ganzen in wohl definierte Teile, die getrennt erstellt und untersucht werden können und die wohl definierter Weise interagieren Das Geheimnisprinzip sagt, dass die internen Details der Implementierung einer Klasse vor anderen Klassen verborgen sein sollten Das unterstützt die Modularisierung von Anwendungen

null

Das Java-Schlüsselwort null hat die Bedeutung „KEIN OBJ!!!“ null wird in einer Objektvariablen gespeichert, die nicht auf ein konkretes Obj verweist Eine Objektvariablen die nicht explizit initialisiert wurde, hat den Standard-Wert null

Object Alle Klassen ohne explizit deklarierte Superklasse haben Objec Object t als ihre Superklasse

Objekte - Java-Objekte modellieren Objekte eines Anwendungsbereich - Objekte repräsentieren individuelle Instanzen einer Klasse Ein Objekt tut üblicherweise etwas, wenn eine seiner Methoden aufgerufen wird O. haben einen Zustand. Dieser wird durch Werte repräsentiert, die in Dtaenfeldern gehalten werden Methoden können Infos über ein Objekt durch einen Ergebniswert zurückliefern. Datenfelder speichern die Daten die ein Objekt benutzt Konstruktoren ermöglichen, dass ein Objekt nach seiner Erzeugung in einen gültigen Zustand versetzt wird Objektdiagramm zeigt die Obj. & ihre Beziehungen zu einem bestimmten Zeitpunkt während der Ausführung einer Anwendung Es präsentiert eine dynamische Sicht auf das Programm

Objektdiagramm Objektdiagramm zeigt die Obj. & ihre Beziehungen zu einem bestimmten Zeitpunkt während der Ausführung einer Anwendung Es präsentiert eine dynamische Sicht auf das Programm

Objekterzeugung Objekte können andere Obj. mit dem new-Operator erzeugen.

Objektreferenz Variablen von Objekttypen speichern Referenzen auf Obj.

Parameter Methoden können Parameter haben, mit denen zusätzliche Infos für eine Aufgabe angegeben werden Parameter haben Typen; dieser definiert welche Arten von Werten ein Parameter annehmen kann Eine Klasse kann mehr als einen Konstruktor oder Meth. Mit dem gleichen Namen enthalten, solange jede von ihnen einen unterscheidbaren Satz von Parametertypen definiert.(Überladen)

Parsen / Umwandeln Beispiel zahl = Integer.parseInt(„5“); // Macht aus String „5“ die Zahl 5 String s_1 = „34.43“; String s_2 = „3456“; double eineZahl; int nochEineZahl; eineZahl = Double.parseDouble(s_1); nochEineZahl = Integer.parseInt(s_2);

private

Private (private) Elemente sind sind ausschließlich innerhalb der der definierten Klasse zugreifbar Für abgeleitete Klassen und für Aufrufer von Objekten der Klasse (Instanzen) bleiben private- Variablen und -Methoden verdeckt.

private-Elemente sollten immer dann verwendet werden, wenn implementierungsabhängige Details zu verstecken sind, die auch in abgeleiteten Klassen nicht sichtbar sein sollen. protected tected oder Werden Variablen und Methoden ohne eines der drei Attribute private, pro public definiert, so entspricht ihr Verhalten im wesentlichen dem von Elementen des Typs protecte protected d

Primitiver Datentyp Typen, die keine Objekttypen sind int, boolean, char, double, long Primitive Datentypen haben keine Meth

protected

Datenfelder und Meth, die als protec protected ted deklariert sind, sind für (direkte & indirekte) Subklassen zugreifbar Elemente des Typs pro protected tected sind in der Klasse selbst und in abgeleiteten Klassen sichtbar Für Aufrufer von Objekten der Klasse (Instanzen) sind protecte protected d-Variablen und -Methoden nur dann verwendbar, wenn sie in dem selben Paket definiert wurden.

protecte protected d-Elemente sind vor Zugriffen von außen geschützt, können aber von abgeleiteten Klassen verwendet werden. Werden Variablen und Methoden ohne eines der drei Attribute private, pro protected tected oder public definiert, so entspricht ihr Verhalten im wesentlichen dem von Elementen des Typs

protecte protected d

public Öffentliche (pub public lic) Elemente sind sowohl innerhalb der definierten Klasse zugreifbar als auch von anderen Klassen aus. Varaiblen und Methoden mit dem Attribut public sind nicht an die Existenz eines konkreten Objekts gebunden, sonder existieren vom Laden der Klasse bis zum Beenden des Programms.

protected tected oder Werden Variablen und Methoden ohne eines der drei Attribute private, pro public definiert, so entspricht ihr Verhalten im wesentlichen dem von Elementen des Typs protecte protected d public lic sind im Rahmen ihrer Lebensdauer...


Similar Free PDFs