uio--WebPageMain-Module

JAVA-B3 Reflection API Overview Annotations Basics Marker-Annotationen Annotationen mit Werten Multiple Annotations Type-Annotationen Deklaration Predefined Annotations @Deprecated @Override @SuppressWarnings @FunctionalInterface Meta-Annotationen @Retention @Documented @Target @Inherited @Repeatable Pluggable-Type-System Annotations Repeating-Annotations (Java 8) @Repeatable @Repeatable @ExampleAuthor Annotations FAQ Annotation Example: AOP AOP Aspect Oriented Programming mit Custom Annotations AopRechnerInterface AopRechnerImpl AopRechnerInterface AopCheckHatZugangInterceptor AopCheckHatZugangAnnotation AopZugangssystem

Predefined Interfaces Iterable RandomAccess Serializable Cloneable INDEX

Overview

JAVA-B3 | Overview

In diesem Themenbereich befassen wir uns mit der Einführung in Funktionale Programmierung, Funktionale Interfaces, die Syntax und den Scope von Lambda-Ausdrücken sowie einen Überblick über Interfaces des Java Function Package.

Function, BiFunction, Predicate, Consumer, Supplier: Die Bedeutung und Verwendung dieser Interfaces ist die zwingende Voraussetzung für nachfolgende Themenbereiche, darunter u.a. für die Collection Stream API.

Abbildung: Java Tiers B

(ContentInstance ContentInstance-Java-Tiers-B)

Reflection API

JAVA-B3 | Reflection API

Die Java Reflection API ermöglicht es, dass ein Programmcode seine eigene Struktur mit Klassen, Methoden, Parametern und Annotationen untersuchen kann. Die API berücksichtigt Overloading und kann dahingehend auch gleichnamige Methoden mit verschiedenen Signaturen ebenso differenzieren wie auch Superklassen, Interfaces und vieles andere mehr ermitteln.

Die Java Reflection API ist die zentrale Voraussetzung für das Annotation-Processing, um mit Hilfe von Java-Programm-Code das Verhalten infolge von Annotationen überhaupt verändern zu können.

Annotationen

JAVA-B3 | Annotationen

Über die vordefinierten Annotationen von Java hinaus bilden Annotationen die Grundlage der Nutzung von JUnit Tests oder auch Frameworks wie Jakarta EE oder Spring. Annotationen dienen Frameworks für die Generierung von Code, dem Compiler als Zusatzinformationen oder auch durch Injizieren von Daten und Funktionalität zur Laufzeit zur Verhaltensänderung des Programms.

Eigene Annotationen ermöglichen es beispielsweise, den Entwicklungszustand einzelner Bestandteile des Programms mit einem Zustand wie «Alpha», «Beta» oder «Stable» belegen zu können. Die Mächtigkeit von Annotationen wird in einem Beispiel für Aspect Oriented Programming AOP mit eigenen Annotationen «Custom Annotations» deutlich. Eine maßgebende Voraussetzung, um die Funktionalität realisieren zu können, ist die Java Reflection API.

Funktionale Programmierung

JAVA-B3 | Funktionale Programmierung

Funktionales Interface

JAVA-B3 | Funktionales Interface

Lambda Expressions

JAVA-B3 | Lambda Expressions

Custom Functional Interface

JAVA-B3 | Eigene funktionale Interfaces programmieren

Funktionale Interfaces

JAVA-B3 | Funktionale Interfaces

Predefined Functional Interfaces

JAVA-B3 | Predefined Functional Interfaces

Command-Pattern-Architektur

JAVA-B3 | Plugin- und Command-Pattern-Architektur

Predefined Interfaces

JAVA-B3 | Predefined Interfaces

Viele Java Interfaces und Klassen von Java, insbesondere im Bereich der Java Collections, implementieren eine Reihe von Interfaces aus dem Core-Package java.lang.*, darunter Iterable, Cloneable, RandomAccess oder Serializable.

Diese Interfaces verstehen sich als Marker Interfaces und dienen dazu, Klassen markieren zu können, wenn diese eine bestimmte Funktionaltität bieten. In diesem Themenblock geben wir einen Einblick in die zum Verständnis von Collections wichtigsten Interfaces.

FootNotes


    UI ORGANIZED.

    UIO3 Es ist einfacher als Du denkst.

    Stelle noch heute Deine Anfrage.

    uio--WebPageFooter-Module