Introduction
Premièrement, permettez-moi d'introduire des explications moins pratiques: le mécanisme de réflexion Java est que dans l'état de course, pour n'importe quelle classe, vous pouvez connaître toutes les propriétés et méthodes de cette classe; Pour n'importe quel objet, vous pouvez en appeler toutes les méthodes et propriétés; Cette fonction de l'obtention dynamique d'informations et des méthodes d'objets appelant dynamiquement est appelé le mécanisme de réflexion du langage Java.
Utilisation simple
La réflexion est d'une manière très courante et facile à utiliser en Java (mais vous devez savoir que son efficacité est relativement faible, vous devez donc l'utiliser avec prudence) bien sûr, il peut également être utilisé dans Android en fonction de la langue Java. Nous pouvons utiliser la réflexion pour obtenir certaines classes qui ne sont pas ouvertes mais existentielles, afin d'appeler certaines de ses méthodes. Écrivez-le brièvement ci-dessous, en utilisant la réflexion Java pour obtenir des classes et la mise en œuvre des méthodes qui l'appellent.
// Le chemin de la classe qui doit être appelé reflète string classname = "com.example.test.javareflect"; class reflev = null; try {// get java class reflev = class.forname (className); // Instancier l'objet de classe correspondant javareflect = réflect.newInstance (); if (null! = javareflect) {// refléter la méthode stringToup () dans la classe de classe StringToup est le nom de la méthode, et string.class est la méthode du type de paramètre stringToup = reflect.getDeclaredMethod ("stringToup", string.class); // Annuler la vérification de la légalité de l'accès aux méthodes privées stringToup.SetAccessible (true); // Calculez la méthode StringToup (), le premier paramètre représente la classe correspondante, et le second est le paramètre de la méthode String str = (String) StringToup.invoke (Javareflect, "Java Reflect Test"); System.out.println ("Résultat:" + Str); }} catch (exception e) {e.printStackTrace ();} Jetons un coup d'œil à ce que j'ai fait dans StringToup:
public String StringToup (String str) {return str.touppercase ();}En fait, c'est juste une chaîne pour la convertir en capital, puis la retourner. Ok, jetons un coup d'œil au résultat de la sortie:
01-02 08: 09: 11.959 6150-6150 / com.zxf.alpha I / System.out: Résultat: Java Reflect Test
C'est tout simplement parfait.
Résumer
Ok, ce qui précède est tout sur cet article. La réflexion a de nombreuses applications dans Android. Par exemple, lorsque notre projet dispose de plusieurs modules, vous pouvez le faire si vous souhaitez appeler une méthode du programme principal dans le module, ou si vous pouvez utiliser la réflexion pour appeler certaines méthodes système-publiques, mais l'efficacité n'est pas très élevée. J'espère que le contenu de cet article sera utile à tout le monde d'apprendre ou d'utiliser des rayonnements en Java. Si vous avez des questions, vous pouvez laisser un message pour communiquer.