Im Beispiel werden zehn Methoden deklariert, die jeweils einen kurzen Text ausgeben. Ein Teil dieses Textes wird als Parameter an die Methoden übergeben, um diesen Aspekt zu demonstrieren.
Zunächst werden der Name der Methoden als
String und deren Argumente in einem
Object[]-Array jeweils nacheinander in einer ArrayList gespeichert. Die Methodennamen besetzen somit die geraden Indizes der ArrayList, die Arrays mit den Parametern jeweils die folgenden ungeraden.
Zur Demonstration des Prinzips soll jeweils eine der deklarierten Methoden (pseudo-)zufällig ausgewählt und ausgeführt werden. Der jeweilige Index wird mit Hilfe der Klasse
Math und deren Methode
random() erzeugt.
Ein Objekt der Klasse
Statement wird mittels Übergabe dreier Parameter gebildet:
- Ziel des Statements
- Methodenname als String
- Array der Methodenparameter
Ziel des Statements ist die aktuelle Klasse (dieser Parameter darf nicht
null sein). Die anderen beiden Parameter werden jeweils mit Hilfe des ermittelten Index aus der ArraList der Methoden geladen.
Die Ausführung übernimmt die
Statement-Methode
execute(). Sie kann bei Scheitern eine
Exception werfen, die abgefangen werden muss.