Für einen professionellen Umgang mit Java reicht das Programmieren eigener Klassen nicht. Ein guter Java-Programmierer ist nämlich in der Java-Bibliothek zuhause und weiß, wo er welche Klassen und Methoden für welchen Zweck finden kann.
Eine der größten Stärken von Java ist die Klassenbibliothek, die aus mehreren tausend Klassen besteht. Das Gute daran ist, dass wir all diese Klassen ganz einfach für unsere eigenen Programme einsetzen können.
Die Java-Bibliothek bietet für viele Probleme genau die richtige Klasse mitsamt Methoden an. Zwar werden wir die meisten Klassen aus der Bibliothek vermutlich nie benötigen, andere jedoch werden unverzichtbar für unserer Programme.
Wir haben übrigens schon regelmäßig Klassen der Java-Bibliothek genutzt, ohne es zu wissen: Die Klasse String gehört ebenso dazu wie die Klasse System mit ihrer System.out.println() Methode. Erinnern Sie sich außerdem an das Kapitel zu Objektsammlungen? Hier haben wir mit der Bibliotheksklasse ArrayList gearbeitet.
Gäbe es die Java-Bibliothek nicht, müssten wir die entsprechenden Klassen selbst schreiben, was mit einem erheblichen bzw. unmöglichen Aufwand verbunden wäre.
Das ist das schöne an Java: Man muss nicht alles selbst programmieren, sondern kann auf die Arbeit anderer zurückgreifen.
Prinzipiell kann jeder eine Java-Klasse schreiben und ein anderer kann sie in sein Programm einbinden. Das ist in Programmier-Teams Gang und Gäbe (Arbeitsteilung!).
Wir beschäftigen uns in diesem Kapitel aber mit den offiziellen Klassen, wie sie in der Java Standardbibliothek gesammelt sind und ganz einfach importiert werden können.
Eine umfassende Dokumentation über alle Klassen der Standardbibliothek sind online abrufbar. Für die Klasse String sieht das so aus (Klick aufs Bild):
Die Klassen sind thematisch und konzeptionell in einer komplexen Paket-Hierarchie sortiert.
Wie gesagt: Sie werden nur einen Bruchteil davon einsetzen und brauchen daher nicht vor der Masse zu erschrecken. Aber:
Der Umgang mit der Java-Bibliothek braucht Erfahrung. Nach einiger Zeit werden sie ein Feingefühl dafür bekommen, wo eine bestimmte Klasse zu finden ist.
Folgende Pakete der Java Standardbibliothek sollten Sie auf jeden Fall recht früh schon kennen:
Paket | Enthaltene Klassen |
---|---|
java.lang | Dieses Paket enthält Klassen, die am meisten benötigt werden, wie etwa String, Math für mathemische Berechnungen oder die Wrapper-Klassen. |
java.util | Das Paket java.util beinhaltet nützliche Klassen, um einen Zufallsgenerator (Random) oder eine Benutzereingabe via. Konsole (Scanner) zu programmieren. Sehr wichtig sind außerdem die Listenklassen für Objektsammlungen (z.B. ArrayList). |
java.lang.Exception | Hier enthaltene Klassen dienen dem Exception Handling, d.h. Programmfehler an andere Programmebenen zur Weiterbehandlung weiterzureichen |
javax.swing | Klassen, die hierzu gehören, werden für das Programmieren grafischer Benutzeroberflächen (GUI) benötigt. |
Als Java-Programmierer sollten Sie die Dokumentation der einzelnen Bibliotheksklassen verstehen können. Jede Klasse wird mit folgenden Teilen beschrieben:
Um Klassen der Java-Standardbibliothek einzusetzen, müssen wir sie zuerst in unser Programm importieren. Dies funktioniert mit der import-Anweisung. Angenommen, wir möchten beispielsweise die Klasse Random aus dem Paket java.util importieren, um einen Zufallsgenerator zu erzeugen, dann sieht die Syntax dafür so aus:
Die import-Anweisung muss immer unmittelbar vor der Klassendefinition stehen:
package paket1;
import java.util.Random;
public class Cyborg{
// Code unserer Klasse
}
Jetzt können wir in unserer Klasse Cyborg neue Random-Objekte erzeugen und die entsprechenden Methoden ausführen:
public int getZufall(){
Random r = new Random();
return r.nextInt(10); // liefere Zufallszahl zwischen 0 und 9
}
Wir können natürlich auch mehrere Klassen importierten. Wir brauchen dann für jede einzelne Klasse eine eigene import-Anweisung:
import java.util.ArrayList;
import java.util.Random;
Wollen wir das gesamte Paket java.util importieren, können wir das mit einer kleinen Abkürzung tun:
import java.util.*;
Mit der Wildcard * ist es jetzt möglich, alle anderen Klassen des Pakets java.utileinzusetzen.
Der "Universal-Import" mit * geht nicht auf Kosten der Performance, da der Compiler herausfindet, welche Klassen wirklich eingesetzt werden und nur diese tatsächlich importiert.
Welchen Weg Sie wählen (Import einzelner Klassen oder alle Klassen des Pakets), bleibt Geschmackssache. Die Klassen einzeln zu importieren macht den Code aber übersichtlicher und nachvollziehbarer.
Die Klassen des Pakets java.lang werden so häufig gebraucht, dass wir diese nicht explizit importieren müssen. Der Compiler übernimmt das automatisch für uns.
Zwar wäre eine Anweisung wie import.java.lang.System möglich. Da es aber redundant (überflüssig) ist, sollten wir sie unterlassen.
Java Basics
[Java einrichten] [Variablen] [Primitive Datentypen] [Operatoren] [if else] [switch-case] [Arrays] [Schleifen]
Objektorientierung
[Einstieg] [Variablen ] [Konstruktor] [Methoden] [Rekursion] [Statische Member] [Initializer] [Pass-by-value] [Objektsammlungen] [Objektinteraktion] [Objekte löschen]
Klassenbibliothek
[Allgemeines] [String ] [Math] [Wrapper] [Scanner] [java.util.Arrays] [Date-Time-API]
Vererbung
[Einstieg Vererbung] [Konstruktoren bei Vererbung ] [Der protected Zugriffsmodifikator] [Abstrakte Klassen und Methoden] [Polymorphie in Java] [Typumwandlung] [Die Klasse Object] [Die toString()-Methode] [Objekte vergleichen] [Was ist ein Interface?]