Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

DVG2 - 06 - Klassenhierarchie Klassenhierarchie. DVG2 - 06 - Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse.

Ähnliche Präsentationen


Präsentation zum Thema: "DVG2 - 06 - Klassenhierarchie Klassenhierarchie. DVG2 - 06 - Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse."—  Präsentation transkript:

1 DVG2 - 06 - Klassenhierarchie Klassenhierarchie

2 DVG2 - 06 - Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse entsteht eine Baumstruktur. Jede Klasse (außer Object ) hat genau eine Elternklasse und keine, eine oder mehrere Kinderklassen. Falls bei der Definition einer Klasse keine extends -Klausel angegeben wird wird implizit extends Object angenommen.

3 DVG2 - 06 - Klassenhierarchie 3 Klassenhierarchie (kleiner Ausschnitt) ThrowableCharacterNumberBooleanString ErrorException ByteShortIntegerLongFloatDoubleBigIntegerBigDecimal MathSystem Object

4 DVG2 - 06 - Klassenhierarchie 4 Die Klasse Object Die Klasse Object ist die einzige Klasse, die von keiner Klasse abgeleitet ist. Jede Klasse die nicht explizit von einer anderen Klasse abgeleitet ist, wird von Object abgeleitet. Alle Klassen erben die Attribute und Methoden von Object. Einige werden von den meisten abgeleiteten Methoden überschrieben.

5 DVG2 - 06 - Klassenhierarchie 5 Methoden der Klasse Object protected Object clone() Erzeugt eine identische Kopie des Objects. –Es muß das Interface Cloneable implementiert werden! –Es werden nur die Attribute selbst kopiert nicht die Objekte auf die diese evtl. referieren! –Kein Konstruktor wird aufgerufen! boolean equals(Object obj) Testet ob das Objekt identisch zu dem anderen ist. Dabei wird nur die Referenz verglichen, nicht der Inhalt. protected void finalize() Wird von der Garbage-Collection aufgerufen, wenn keine Referenz mehr auf das Objekt existiert. int hashCode() Berechnet einen hash-Code für das Objekt. String toString() Erzeugt eine Zeichenketten-Repräsentation des Objektes.

6 DVG2 - 06 - Klassenhierarchie 6 Methoden für Parallel-Verarbeitung Class getClass() erzeugt ein Objekt, das einzig für alle Objekte der Klasse ist void notify() weckt einen schlafenden Prozess void notifyAll() weckt alle schlafenden Prozesse void wait() schläfert den aktuellen Prozess ein void wait(long timeout) schläfert den aktuellen Prozess für timeout Millisekunden ein void wait(long timeout, int nanos) schläfert den aktuellen Prozess für timeout Millisekunden + nanos Nanosekunden ein Klassenhierarchie

7 DVG2 - 06 - Klassenhierarchie 7 Die Klasse System Die Klasse enthält wichtige Attribute und Methoden als Schnittstelle zum System. Die Klasse System ist nicht instanziierbar! public final class System { private System() {}... }

8 DVG2 - 06 - Klassenhierarchie 8 Die Klasse System Betriebsystem stellt Standard-Datenströme für die Eingabe, Ausgabe und für Fehlermeldungen zur Verfügung. Diese können umgelenkt werden. static InputStream in Standard-Eingabestrom = Tastatur static PrintStream out Standard-Ausgabestrom = Bildschirm static PrintStream err Standard-Ausgabestrom für Fehlermeldungen = Bildschirm

9 DVG2 - 06 - Klassenhierarchie 9 Methoden der Klasse System static void setIn(InputStream in) Ändert den Standard-Eingabestrom static void setOut(PrintStream out) Ändert den Standard-Ausgabestrom static void setErr(PrintStream err) Ändert den Ausgabestrom für Fehlermeldungen static void exit(int status) beendet das laufende Programm mit dem Rückkehrcode status static void gc() startet die Garbage-Collection static void runFinalization() startet für alle Objekte, die keine Referenzen mehr haben die Methoden finalize

10 DVG2 - 06 - Klassenhierarchie 10 static void arraycopy(Object src, int src_position, Object dst, int dst_position, int length) Kopiert ein Teil eines Feldes auf ein Zielfeld –src und dst müssen auf Felder zeigen, deren Elemente vom gleichen Typ sein gleicher primitiver Datentyp Referenztyp –Wenn src und dst gleich sind wird kopiert als wenn zunächst auf ein Zwischenfeld kopiert wird und anschließend auf das Ziel. static long currentTimeMillis() aktuelle Zeit in Millisekunden bzgl. 1.1.1970 0.00 Uhr

11 DVG2 - 06 - Klassenhierarchie 11 static Properties getProperties() bestimmt Systemeigenschaften und gibt diese als Objekt der Klasse Properties aus. In Properties gibt es die Methode list: System.getProperties().list(System.out) static String getProperty(String key) gibt den Wert der Systemeigenschaft mit dem Namen key als Zeichenkette zurück static void setProperties(Properties props) setzen der Systemeigenschaften static String setProperty(String key, String value) setzen der Systemeigenschaft mit dem Namen key auf den Wert value Klassenhierarchie

12 DVG2 - 06 - Klassenhierarchie 12 Die Klasse Throwable Klasse Throwable ist die Superklasse aller Fehler und Ausnahmen in JAVA. Ein Objekt der Klasse Throwable enthält einen snapshot des execution stacks zu dem Zeitpunkt zu dem es erzeugt wurde. Außerdem kann ein Text enthalten sein, der die Ausnahme genauer beschreibt. Objekte der Klasse Throwable können mit der throw -Anweisung aktiviert werden. Z.B.: class ZeroDivide extends Throwable {}... double x, y, z; if (y==0.0) throw new ZeroDivide(); z=x/y;...

13 DVG2 - 06 - Klassenhierarchie 13 Konstruktoren der Klasse Throwable Throwable() Initialisiert eine Ausnahme ohne Fehlermeldungstext Throwable(String message) Initialisiert eine Ausnahme mit Fehlermeldungstext

14 DVG2 - 06 - Klassenhierarchie 14 Methoden der Klasse Throwable public Throwable fillInStackTrace() Erzeugt eine neue Ausnahme, wobei der stacktrace von der ursprünglichen Ausnahme übernommen wird. public String getMessage() public String getLocalizedMessage() gibt den (sprachspezifischen) Fehlermeldungstext aus, der im Konstruktor angegeben wurde public void printStackTrace() public void printStackTrace(PrintStream s) public void printStackTrace(PrintWriter s) gibt den stacktrace auf System.err bzw. auf s aus public String toString() gibt den Namen der Klasse zurück zu der die Ausnahme gehört wenn eine Meldung existiert: + : + message Klassenhierarchie

15 DVG2 - 06 - Klassenhierarchie 15 Die Klassen Error und Exception Die Klassen Exception und Error sind einfache Ableitungen von der Klasse Throwable. Von Error werden üblicherweise echte Fehler abgeleitet, die zum Programmabruch führen. Von Exception werden Ausnahmen abgeleitet, die behandelt werden können. Klassenhierarchie

16 DVG2 - 06 - Klassenhierarchie 16 Die Klasse Math Klasse Math enthält allgemeine mathematische Konstanten und Funktionen. Math ist nicht instanziierbar (wie System )

17 DVG2 - 06 - Klassenhierarchie 17 Attribute der Klasse Math static double E Die double -Zahl die dichter an e ist als alle anderen double - Zahlen. static double PI Die double -Zahl die dichter an ist als alle anderen double - Zahlen.

18 DVG2 - 06 - Klassenhierarchie 18 Methoden der Klasse Math static typ abs (typ a) static typ max (typ a, typ b) static typ min (typ a, typ b) typ = long, int, float, double Absolutbetrag, Maximum und Minimum static long round (double a) static int round (float a) die zu a dichteste long - bzw. int -Zahl static double rint (double a) die zu a dichteste ganze Zahl als double dargestellt static double floor(double a) die größte ganze Zahl, die nicht größer als a ist als double dargestellt static double ceil(double a) die kleinste ganze Zahl, die nicht kleiner als a ist als double dargestellt

19 DVG2 - 06 - Klassenhierarchie 19 Winkelfunktionen static double func (double a) func = sin, cos, tan, asin, acos, atan, toDegrees, toRadians static double atan2 (double a, double b) Potenz- und Logarithmusfunktionen static double func (double a) func = exp, log, sqrt static double pow (double a, double b) berechnet a b Zufallszahlen static double random() liefert gleichverteilte Zufallszahlen im Intervall Klassenhierarchie

20 DVG2 - 06 - Klassenhierarchie 20 Die Klasse String Die Klasse String definiert Zeichenkettenkonstanten. Die Zeichenketten können nach der Instanziierung nicht mehr geändert werden. Für sich ändernde Zeichenketten nutze man besser die Klasse StringBuffer. String -Objekte können mit dem Operator + verkettet werden. Beispiele: System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2);

21 DVG2 - 06 - Klassenhierarchie 21 Konstruktoren der Klasse String String() Initialisiert eine leere Zeichenkette "" String(byte[] bytes) String(byte[] bytes, int offset, int length) Initialisiert eine Zeichenkette aus den bytes unter Berücksichtigung der aktuellen Umwandlungsregeln. String(byte[] bytes, String enc) String(byte[] bytes, int offset, int length, String enc) Initialisiert eine Zeichenkette aus den bytes unter Berücksichtigung der Umwandlungsregeln in enc. String(char[] value) String(char[] value, int offset, int count) Initialisiert eine Zeichenkette aus den Zeichen des Feldes.

22 DVG2 - 06 - Klassenhierarchie 22 String(String value) Initialisiert eine Zeichenkette als Kopie der angegebenen Zeichenkette. String(StringBuffer buffer) Initialisiert eine Zeichenkette als Kopie der angegebenen Zeichenkette in dem StringBuffer.

23 DVG2 - 06 - Klassenhierarchie 23 Methoden der Klasse String String concat(String str) verketten mit der Zeichenkette str int hashCode() bestimmen eines hashcodes String intern() gibt eine Zeichenkette zurück die sich im Zeichenkettenpool befindet und den selben Inhalt wie this hat int length() Länge der Zeichenkette

24 DVG2 - 06 - Klassenhierarchie 24 Zerlegen char charAt(int index) Zeichen an der Position index String substring(int beginIndex) String substring(int beginIndex, int endIndex) Teilzeichenkette von beginIndex bis endIndex-1 String trim() löscht "whitespaces" am Anfang und Ende der Zeichenkette Vergleichen int compareTo(Object o) int compareTo(String anotherString) int compareToIgnoreCase(String str) gibt die Differenz der ersten voneinander verschiedenen Zeichen in den Zeichenketten zurück ggf. unter Vernachlässigung der Groß- und Kleinschreibung

25 DVG2 - 06 - Klassenhierarchie 25 boolean equals(Object anObject) boolean equalsIgnoreCase(String anotherString) testet ob die Zeichenketten übereinstimmen ggf. ohne Berücksichtigung der Groß- und Kleinschreibung boolean regionMatches(int toffset, String other, int ooffset, int len) boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) vergleicht Teile von Zeichenketten boolean endsWith(String suffix) testet ob die Zeichenkette mit suffix endet boolean startsWith(String prefix) boolean startsWith(String prefix, int toffset) testet ob eine Zeichenkette mit prefix beginnt

26 DVG2 - 06 - Klassenhierarchie 26 Suchen int indexOf(int ch) int indexOf(int ch, int fromIndex) int indexOf(String str) int indexOf(String str, int fromIndex) Gibt den Index zurück an der das Zeichen ch bzw. die Zeichenkette str gefunden wurde. Wenn es nicht gefunden wurde wird -1 zurückgegeben. int lastIndexOf(int ch) int lastIndexOf(int ch, int fromIndex) int lastIndexOf(String str) int lastIndexOf(String str, int fromIndex) Gibt den letzten Index zurück an der das Zeichen ch bzw. die Zeichenkette str gefunden wurde. Wenn es nicht gefunden wurde wird -1 zurückgegeben.

27 DVG2 - 06 - Klassenhierarchie 27 Ersetzen String replace(char oldChar, char newChar) Ersetzt jedes Vorkommen von oldChar durch newChar. String toLowerCase() String toLowerCase(Locale locale) String toUpperCase() String toUpperCase(Locale locale) wandelt alle großen (kleinen) Buchstaben in kleine (große) Buchstaben um unter Berücksichtigung sprachspezifischer Gegebenheiten Klassenhierarchie


Herunterladen ppt "DVG2 - 06 - Klassenhierarchie Klassenhierarchie. DVG2 - 06 - Klassenhierarchie 2 Klassenhierarchie Durch die Ableitung jeder Klasse aus genau einer Elternklasse."

Ähnliche Präsentationen


Google-Anzeigen