Le code spécifique est le suivant, pourquoi chaque acquisition liée au tableau est publique, abstraite et finale
Class doubles = Class.forName("[D");
System.out.printf("Modifiers:%n %s%n%n", Modifier.toString(doubles.getModifiers()));
Class doubles2 = Class.forName("[[D");
System.out.printf("Modifiers:%n %s%n%n", Modifier.toString(doubles2.getModifiers()));
Class Foo = Class.forName("[Ljava.lang.String;");
System.out.printf("Modifiers:%n %s%n%n", Modifier.toString(Foo.getModifiers()));
Excusez-moi pourquoi ??
La classe correspondant au tableau est générée par la JVM, donc cet étrange phénomène de final abstrait se produit. Final empêche l'héritage, et abstract empêche la création d'instances (en fait, il n'a même pas de constructeur)