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

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

黄舟
Libérer: 2017-07-26 15:12:21
original
2409 Les gens l'ont consulté

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"; 
  } 
}
Copier après la connexion


 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);
Copier après la connexion
) ;

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal