carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.949 User online
1 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 221 von 2963 (7%) |<   <   >   >|

Autor DeaconFrost
Datum 18.11.05, 11:48
Betreff Re: Bestehendem Objekt zur Laufzeit eine Methode eines anderen Objekts zufügen


Methoden zur Laufzeit aufzurufen ist möglich, ansonsten wäre die Reflection API ja ziemlich nutzlos ;-) Also der Weg ist schon der richtige.
Der entscheidende Fehler liegt IMHO beim Aufruf von invoke:
method.invoke(mother, paramsObj);
Der Parameter mother ist vom Typ Class, also repräsentiert die Klasse. Das funktioniert so aber nur bei statischen Methoden. Wenn Du eine Instanzmethode aufrufen möchtest (Ich nehme das mal an...), dann musst Du stattdessen eine Referenz auf das Objekt übergeben, bei dem Du die Methode aufrufen möchtest.
Es müsste also so gehen:
method.invoke(m, paramsObj);

Weiters ist mir aufgefallen, dass invokeMethod nur eine Methode aufrufen kann, die keine Parameter hat.
Warum diese beiden Zeilen benötigt werden, weiss ich leider auch nicht:
Class thisClass = Class.forName(v.getName());
Object iClass = thisClass.newInstance();


Das ist aber wahrscheinlich darauf zurückzuführen, dass Du noch experimentierst.

In jedem Fall Viel Glück,

Deacon Frost




Diskussionsverlauf:
Bestehendem Objekt zur Laufzeit eine Methode eines anderen Objekts zufügen
    Re: Bestehendem Objekt zur Laufzeit eine Methode eines anderen Objekts zufügen

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com