4. Zugriff Auf Methoden |
|
zurück | weiter |
4.1 Zugriff auf MethodenDer Zugriff auf Methoden aus nativen Funktionen hat starke Ähnlichkeit mit dem Zugriff
auf Variablen. Zuerst muß aus der erhaltenen Umgebung jclass clazz; jmethodID public_mid; jmethodID private_static_mid; clazz = (*env)->GetObjectClass(env, thisObj); public_mid = (*env)->GetMethodID(env, clazz, "publicMethod", "()V"); private_static_mid = (*env)->GetStaticMethodID(env,clazz,"privateStaticMethod","()V"); (*env)->CallVoidMethod(env, thisObj, public_mid); (*env)->CallStaticVoidMethod(env, clazz, private_static_mid);Die Funktion GetMethodID its ähnlich der GetFieldID Funktion. Sie
liefert eine Referenz auf die gesuchte Methode. Diese Funktion gibt es auch als
GetStaticMethodID für Klassen Methoden. Die Funktion CallVoidMethod
bewirkt die Ausführung der Methode. Der Aufbau des Funktionsnamen ist wieder vom Typ
Call<type>Method . Der angegebene Typ entspricht dem Rückgabetyp der
Methode. Die Funktion hat außerdem eine Variable Parameterliste. Enthält die auszuführende
Methode Parameter, so werden sie hinter der Methodenreferenz angegeben.
|
|
4.2 Public / PrivateAuch bei Methodenaufrufen gibt es keinerlei Zugriffsprüfungen. Somit ist es auch hier
möglich |
|
zurück | weiter |
© 2001, Michael Bromm | Version 1.0 |