2 Stimmen

Java Reflection: Funktion in einer inneren statischen Klasse aufrufen

Meine einfache Schule Klasse sieht so aus:

public class Schule{
   ...
   public static class Schüler{
       public void einschreiben(){
          ...
       }
   }

}

Wie oben zu sehen ist, hat die Schule Klasse eine innere öffentliche statische Klasse namens Schüler. Es gibt eine Methode einschreiben(), die in Schüler definiert ist.

In meiner Hauptfunktion kann ich die innere statische Klasse Schüler laden durch:

Class schülerKlasse = Class.forName("Schule$Schüler");

Ich frage mich, wie ich mit der oben genannten Zeile Code die einschreiben() Funktion auf java Reflexion Weise aufrufen kann.

2voto

assylias Punkte 308529

Wenn Sie eine gültige Klasse haben, können Sie auf ihre Methoden zugreifen und sie aufrufen mit:

Methode register = studentClass.getDeclaredMethod("register");
register.invoke(studentClass.newInstance());

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X