Bonjour,

Mon prof de licence nous à montrer et donner un code pour nous donner un exemple de la réflexion que je n'arrive pas à refaire fonctionner (malgré ma réflexion, haha )

Dans un même dossier j'ai :
Test.class
Test.java
TestReflexion.java

Voici le contenu de mon fichier TestReflexion.java :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package testreflexion;
 
import java.lang.reflect.*;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 *
 * @author Leinox
 */
public class TestReflexion {
 
    private Class<?> cl;
    private Method[] lesM;
 
    public TestReflexion(String className) {
        try {
            cl = Class.forName(className);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(TestReflexion.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        System.out.println(args[0]);
//        TestReflexion testReflexion = new TestReflexion(args[0]);
        TestReflexion testReflexion = new TestReflexion("Test");
    }
 
}
Et voici ce qu'on me retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
run:
Test
mars 08, 2015 9:57:01 PM testreflexion.TestReflexion <init>
GRAVE: null
java.lang.ClassNotFoundException: Test
	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:259)
	at testreflexion.TestReflexion.<init>(TestReflexion.java:18)
	at testreflexion.TestReflexion.main(TestReflexion.java:30)
Je ne comprend pas. Comment indiquer à Class.forName l'endroit où chercher ma classe Test ? Pouvez vous m'aider svp ?