Java Tutorial #20

Die Java Klassenbibliothek

2019-08-01 | credit: Evgen3d/ adobe.stock

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.

Die Java Klassenbibliothek kennenlernen

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. 

Die Java-Standardbibliothek

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):

Java API

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: 

  • Ein guter Java-Programmierer kann zielgerichtet mit der Java-Bibliothek arbeiten und weiß, welche Klassen er auswählen muss und wo er diese findet. 

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. 

Klassendokumentation lesen

Als Java-Programmierer sollten Sie die Dokumentation der einzelnen Bibliotheksklassen verstehen können. Jede Klasse wird mit folgenden Teilen beschrieben: 

  • Name der Klasse 
  • Eine allgemeine Beschreibung der Klasse 
  • Field Summary: Liste der Felder 
  • Constructor Summary: Auflistung der Konstruktoren 
  • Method Summary: Alle Methoden der Klasse inkl. Kurzbeschreibung 
  • Details: Ausführliche Beschreibung und Anmerkungen zu Feldern, Konstruktoren und Methoden der Klasse

Import von Klassen

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:

Java Import Klasse

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
}

Mehrere Klassen importieren

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. 

java.lang

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.

Werbung

Java lernen

Werde zum Java Profi!

PHP Lernen

Lerne serverbasierte Programmierung

JavaScript lernen

Skille dein Webcoding

FALCONBYTE.NET

Handmade with 🖤️

© 2018-2023 Stefan E. Heller

Impressum | Datenschutz | Changelog

Falconbyte Youtube Falconbyte GitHub facebook programmieren lernen twitter programmieren lernen discord programmieren lernen