Pourquoi Class.forName () fonctionne pas pour moi?
-
05-09-2019 - |
Question
Je suis en train de instancier une classe de variable et écrit un code de test. Mais, malheureusement, il ne fonctionne pas. Voici le code:
Object co1 = new CommandDownloadHttp();
Class cc1 = Class.forName("CommandDownloadHttp");
Object co = cc1.newInstance();
Malheureusement, sur la deuxième ligne, il se bloque avec java.lang.ClassNotFoundException
.
Pouvez-vous s'il vous plaît me dire ce que je fais mal?
La solution
est CommandDownloadHttp complet nom de la classe, à savoir qu'il ne dispose pas d'un paquet? Si elle Finalité un paquet, comprennent que:
Class.forName("foo.bar.CommandDownloadHttp");
(je suppose qu'il ya une meilleure raison pour vous le faire dans votre code réel, BTW - clairement dans ce cas, vous ne devez pas vraiment chercher la classe par réflexion:)
Autres conseils
est votre classe dans un package? Et ce paquet est importé? Il fonctionne donc dans la ligne 1. Mais vous avez besoin du nom complet qualifié Class.forName ( « my.package.to.CommandDownloadHttp »).