Введение
Во -первых, позвольте мне представить некоторые менее практические объяснения: механизм размышлений Java заключается в том, что в состоянии бега, для любого класса вы можете знать все свойства и методы этого класса; Для любого объекта вы можете вызвать любые методы и свойства этого; Эта функция динамического получения информации и динамического вызова методов объекта называется механизмом отражения языка Java.
Простое использование
Отражение-это очень распространенный и простой в использовании способ в Java (но вам нужно знать, что его эффективность относительно низкая, поэтому вы должны использовать его с осторожностью), конечно, его также можно использовать в Android на основе языка Java. Мы можем использовать отражение для получения некоторых классов, которые не являются открытыми, а экзистенциальными, чтобы вызвать некоторые из его методов. Давайте кратко запишем это ниже, используя Java Reflection для получения классов и реализации методов, которые называют его.
// Путь класса, который необходимо назвать отражать string classname = "com.example.test.javareflect"; class Refert = null; try {// get java class erferre = class.forname (classname); // создание соответствующего объекта класса javareflect = Reflect.newinstance (); if (null! = javareflect) {// отражать метод stringToup () в классе класса StringToup - это имя метода, а String.Class - это метод типа параметра stringToup = Refert.getDeclaredMethod ("stringToup", string.class); // Отменить проверку законности доступа к частным методам stringtoup.setAccessible (true); // Вычислять метод stringToup (), первый параметр представляет соответствующий класс, а второй - параметр метода string str = (string) stringtoup.invoke (javareflect, «Java Refert Test»); System.out.println ("result:"+str); }} catch (Exception e) {e.printstackTrace ();} Давайте посмотрим на то, что я сделал в StringToup:
public String StringToup (string str) {return str.touppercase ();}На самом деле, это просто строка, чтобы преобразовать его в капитал, а затем вернуть ее. Хорошо, давайте посмотрим на результат вывода:
01-02 08: 09: 11.959 6150-6150/com.zxf.alpha i/system.out: Результат:
Это просто идеально.
Суммировать
Хорошо, вышеупомянутое все об этой статье. Отражение имеет много приложений в Android. Например, когда в нашем проекте есть несколько модулей, вы можете сделать это, если вы хотите вызвать метод основной программы в модуле, или вы можете использовать отражение для вызова некоторых системных методов, но эффективность не очень высока. Я надеюсь, что содержание этой статьи будет полезно для всех, чтобы изучить или использовать радиацию в Java. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения.