Maison >Java >javaDidacticiel >Explication détaillée de la façon dont Java implémente le chargement statique réfléchissant et le chargement dynamique d'un exemple de code

Explication détaillée de la façon dont Java implémente le chargement statique réfléchissant et le chargement dynamique d'un exemple de code

伊谢尔伦
伊谢尔伦original
2017-07-17 16:06:511850parcourir

1. La différence entre les classes Java chargées dynamiquement et les classes chargées statiquement

La nouvelle façon de créer des objets s'appelle le chargement statique et l'utilisation de Class.forName. (" XXX ") est appelé chargement dynamique. La différence essentielle entre eux est que le programme source d'une classe chargée statiquement est chargé lors de la compilation (doit exister), tandis que le programme source d'une classe chargée dynamiquement peut être absent lors de la compilation (le le programme source n’a pas besoin d’exister).

2. Pourquoi est-il nécessaire de charger dynamiquement les classes

D'après ma propre compréhension, le chargement dynamique des classes augmente la flexibilité du programme. Par exemple, il y a 50 fonctions dans un programme, mais vous ne pouvez en utiliser qu'une seule. Si vous utilisez le chargement statique, vous devez fournir toutes les définitions de 100 fonctions avant la compilation, sinon la compilation ne réussira pas. un mécanisme de chargement dynamique, il n'est donc pas nécessaire de passer autant de temps, il suffit de définir lequel utiliser.

Chargement statique :

public class Office_Static {
	public static void main(String[] args) {
		//new 创建对象,是静态加载类,在编译时刻就需要加载所有的可能使用到的类
		if("Word".equals(args[0])){
			Word w = new Word();
			w.start();
		}
		if("Excel".equals(args[0])){
			Excel e = new Excel();
			e.start();
		}
	}
}

Lorsque ce programme est compilé, les deux classes Word et Excel doivent exister, même si Excel n'est pas utilisé après jugement Chargement <.>

Chargement dynamique :

1. Interface OfficeAble :

public interface OfficeAble {
	public void start();
}

2. Interface d'implémentation Word :

public class Word implements OfficeAble{
	public void start(){
		System.out.println("word start");
	}
}

3.

public class Excel implements OfficeAble{
	public void start(){
		System.out.println("excel start");
	}
}

4. Méthode principale

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