Vous pouvez créer un objet portant le nom de classe SportCar
. Bien qu'il s'agisse d'une méthode très coûteuse pour la création d'objets, l'utilisation de la réflexion.
Et en fait vous souhaitez utiliser certaines fonctionnalités de SportCar
à savoir la méthode getCost
.
interface Costly { BigDecimal getCost(); }
class SportCar implements Costly { ... }
Class c = Class.forName("SportCar");
Costly car= (Costly) c.newInstance();
System.out.println(car.getCost());
Il existe de meilleurs modèles de code, moins artificiels, pour quelques cas d'utilisation différents.
Ici, on peut utiliser un modèle d'usine pour recevoir un SportCar (ou Costly). Pour les extensibilité où une application, avec l'ajout d'une ou plusieurs bibliothèques de classes encore inconnues, reçoit une classe d'implémentation d'une interface, java SPI (interface fournisseur de services) peut être utilisé.