У меня есть закрытый финальный класс, который выглядит следующим образом:
final class FragmentManagerImpl {
...
}
Обратите внимание, что он не является общедоступным и не имеет объявленных конструкторов.
Я хотел бы создать экземпляр этого класса, используя отражение. Однако оба следующих фрагмента кода приводят к IllegalAccessExceptions:
// BUG IllegalAccessException on calling newInstance
final Class c = Class.forName("android.support.v4.app.FragmentManagerImpl");
c.newInstance();
// BUG IllegalAccessException on calling newInstance
final Class c = Class.forName("android.support.v4.app.FragmentManagerImpl");
final Constructor constructor = c.getDeclaredConstructor();
constructor.setAccessible(true);
constructor.newInstance();
Как правильно создать экземпляр этого класса из пакета, который не является android.support.v4.app?