Die Java API
Die Java API (Application Programming Interface) ist eine umfangreiche Standardbibliothek, die fertige Klassen und Schnittstellen für häufige Programmieraufgaben bereitstellt. Zusätzlich zum Quellcode enthält die Java API eine Javadoc-Dokumentation mit Informationen zu Paketen, Klassen, Attributen und Methoden. Entwicklungsumgebungen wie Eclipse oder IntelliJ IDEA integrieren die Java API direkt in die Code-Vervollständigung.
Wichtige Klassen und Schnittstellen der Java API
| Thema | Klassen |
|---|---|
| Assoziativspeicher (Maps) | Entry<K, V>, HashMap<K, V>, Map<K, V> |
| Aufzählungen (Enumerations) | Enumeration<E> |
| Ausnahmen (Exceptions) | ArrayIndexOutOfBoundsException, Exception, NullPointerException, RunTimeException |
| Dateien und Verzeichnisse | File, Scanner |
| Datenklassen (Records) | Record |
| Datenströme | BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter, FileInputStream, FileOutputStream, FileReader, FileWriter, ObjectInputStream, ObjectOutputStream, Serializable, System |
| Datums- und Zeitangaben | LocalDate, LocalDateTime, LocalTime |
| Die Java Stream API | BiConsumer, Collectors, Comparable<T>, Comparator<T>, Consumer<T>, DoubleConsumer, DoubleStream, Executable, Function<T, R>, IntStream, Predicate<T>, Stream<T>, ToDoubleFunction<T, R>, ToIntFunction<T, R> |
| Die Mutter aller Klassen | Object |
| Java Collections Framework | ArrayList<E>, Arrays, HashSet<E>, LinkedList<E>, List<E>, Queue<E>, Set<E> |
| Komparatoren | Comparable<T>, Comparator<T>, Collections |
| Konsolenanwendungen | PrintStream, Scanner, System |
| Listen | ArrayList<E>, Arrays, LinkedList<E>, List<E> |
| Mathematische Berechnungen | Math |
| Optionals | Optional<T>, OptionalDouble |
| Pseudozufallszahlen | Random |
| Wrapper-Klassen | Boolean, Double, Integer |
| Zeichenketten (Strings) | String |
Die Javadoc
Die Javadoc ist ein Werkzeug zur Software-Dokumentation. Es erstellt aus den öffentlichen Deklarationen von Klassen, Schnittstellen, Attributen und Methoden sowie optionalen Dokumentationskommentaren HTML-Seiten. Zur einfacheren Navigation werden zusätzlich Index- und Hilfsdateien generiert. HTML-Tags in den Kommentaren ermöglichen die Formatierung der Dokumentation.
/**
* Computer
*
* @author Hans Maier
* @version 1.0
*
*/
public class Computer {
...
/**
* Central Processing Unit
*/
private Cpu cpu;
/**
* Returns the Central Processing Unit (CPU) of this Computer
*
* @return the Central Processing Unit
*/
public Cpu getCpu() {
return cpu;
}
/**
* Sets the Central Processing Unit of this Computer with the incoming data
*
* @param powerInGhz Power of the CPU in GHz
* @param numberOfCores Number of Cores
*/
public void setCpu(double powerInGhz, int numberOfCores) {
cpu = new Cpu(powerInGhz, numberOfCores);
}
...
}