Dans Java, il existe deux façons d'appeler une méthode de classe: pour les méthodes statiques, vous pouvez appeler directement le nom de la classe, et pour les méthodes non statiques, vous devez utiliser l'appel d'objet de classe. Le mécanisme de réflexion fournit un moyen d'appel relativement alternatif, qui peut spécifier la méthode à appeler selon les besoins sans avoir à être déterminé pendant la programmation. La méthode appelée ne se limite pas au public, mais peut également être privée. Écrivez un programme qui utilise le mécanisme de réflexion pour appeler la méthode statique sin () et la méthode non statique equals () de la classe de mathématiques.
L'idée est la suivante: Utilisez Math.Class.getDeclaredMethod ("Sin", Double.Type); Le type du paramètre d'entrée est double.
Le code est le suivant:
La copie de code est la suivante:
import java.lang.reflect.method;
classe publique dongtai {
public static void main (String [] args) {
essayer {
System.out.println ("Appelez la méthode statique sin () de la classe de mathématiques");
Method sin = math.class.getDeclaredMethod ("sin", double.type);
Double sin1 = (double) sin.invoke (null, nouvel entier (1));
System.out.println ("La valeur sinusoïdale de 1 est:" + sin1);
System.out.println ("Appelez la méthode non statique equals () de la classe String");
Méthode Equals = String.class.getDeclaredMethod ("Equals", object.class);
Booléen mrsoft = (booléen) equals.invoke (new String ("Tomorrow Technology"), "Tomorrow Technology");
System.out.println ("est la technologie STRING Tomorrow:" + MrSoft);
} catch (exception e) {
e.printStackTrace ();
}
}
}
L'effet est montré dans l'image: