Réflexion Java, getMethod()

Je suis en train de travailler avec les bases de Java réflexion et de l'observation de l'information sur les méthodes des classes. J'ai besoin d'obtenir une méthode qui correspond à des spécifications telles que décrites par le getMethod() fonction. Cependant, quand je fais cela, je reçois un NoSuchMethodException, et j'espérais que vous pourriez me dire pourquoi mon application est incorrecte.

static void methodInfo2(String className) throws ClassNotFoundException, 

NoSuchMethodException{

        Class cls = null;
        try{
            cls = Class.forName(className);
        } catch(ClassNotFoundException e){
            e.printStackTrace();
        }
        System.out.println("Cls:  "+cls);


        Method method1 = cls.getMethod("test", null);
        System.out.println("method1:  "+method1);


    }

EDIT1:Quand j'imprime Cls": "+cls, la sortie est "Cls: classe a8.myclass2". Pourquoi faut-il ajouter la classe? (l'a8 est correct, donc ne vous inquiétez pas à ce sujet) /EDIT1

C'est la fonction que j'utilise pour lire dans une classe de ma fonction principale, et puis je veux getMethod() avec les paramètres "test" et null, où "test" est le nom de la méthode et la valeur null signifie que la méthode n'a pas de paramètres. La classe je suis la lecture en est appelé myclass2 qui est ici:

package a8;

public class myclass2 {

    void test(){
        //"takes no parameters"
        //"returns bool"
        //"name starts with test"
        //return true;
    }

}

Comme vous pouvez le voir, la méthode est en effet exister dans la classe. Si vous avez pu remarquer mon erreur, je voudrais vraiment l'apprécier.

OriginalL'auteur Nibirue | 2011-12-02