Comment l'obtenir
1 Si vous connaissez la classe spécifique, obtenez-la via l'attribut class de la classe. fiable et offre les performances de programme les plus élevées.
2. Si vous connaissez une instance d'une certaine classe, appelez la méthode getclass() de l'instance pour obtenir l'objet Class.
3. Le nom complet de la classe est connu, et la classe se trouve sur le chemin de la classe et peut être obtenue via la méthode statique forName() de la classe ClassNotFoundException, ce qui est plus courant. utilisé.
4. Via le chargeur de classe.
Exemple
@Test public void test2() throws ClassNotFoundException { //方式一:调用运行时类的属性:.class Class<Person> clazz1 = Person.class; System.out.println(clazz1);//class cn.bruce.java.Person //方式二:通过运行时类的对象,调用getClass() Person p1 = new Person(); Class<? extends Person> clazz2 = p1.getClass(); System.out.println(clazz2);//class cn.bruce.java.Person //方式三:调用Class的静态方法:forName(String classPath) Class<?> clazz3 = Class.forName("cn.bruce.java.Person"); System.out.println(clazz3);//class cn.bruce.java.Person System.out.println(clazz1 == clazz2);//true System.out.println(clazz1 == clazz3);//true //方式四:使用类的加载器:ClassLoader (了解) ClassLoader classLoader = ReflectionTest.class.getClassLoader(); Class<?> clazz4 = classLoader.loadClass("cn.bruce.java.Person"); System.out.println(clazz4);//class cn.bruce.java.Person System.out.println(clazz1 == clazz4);//true }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!