Maison  >  Article  >  Java  >  Comment implémenter des exemples de code chargés dynamiquement en Java

Comment implémenter des exemples de code chargés dynamiquement en Java

黄舟
黄舟original
2017-07-26 15:12:212388parcourir

Cet article présente principalement les informations pertinentes sur le code d'implémentation du chargement dynamique Java. L'objectif principal du chargement dynamique des classes Java n'est pas de modifier le code du programme principal. En modifiant le fichier de configuration, vous pouvez utiliser différents objets pour effectuer différentes opérations. fonctions.Amis dans le besoin Vous pouvez vous référer au code d'implémentation de

chargement dynamique Java

La signification et le but de la classe de chargement dynamique Java :

Le chargement dynamique des classes en Java consiste principalement à faire fonctionner différents objets pour exécuter différentes fonctions en modifiant le fichier de configuration sans changer le code du programme principal. C'est principalement bénéfique pour l'expansion du système. Par exemple, lorsque je veux modifier une fonction, il me suffit de créer une classe puis d'écrire la fonction correspondante. La nouvelle fonction peut être utilisée via le fichier de configuration. besoin de modifier n'importe où dans le système. Il me suffit d'ajouter une classe ; Satisfait le principe ouvert-fermé (fermé pour modification, ouvert pour ajout ou suppression


public abstract class AbstractAction { 
  public abstract String action(); 
} 
public class TestAction extends AbstractAction{ 
  public String action() { 
    System.out.println("I am working ! "); 
    return "this ActionTest class"; 
  } 
}


 String s = "file://D:\Style.jar";***//jar所在的文件的URL*
 URL url = new URL(s); 
URLClassLoader myClassLoader = new URLClassLoader(new URL[] { url }, Thread.currentThread() .getContextClassLoader()); 
Class<? extends AbstractAction> myClass = (Class<? extends AbstractAction>) myClassLoader.loadClass("com.java.jarloader.TestAction"); 
AbstractAction action = (AbstractAction) myClass.newInstance(); 
String str = action.action(); 
System.out.println(str);
) ;

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn