java.lang.IllegalAccessError: попытался получить доступ к полю ConcreteEntity.instance из класса Entity
java.lang.IllegalAccessError: попытался получить доступ к полю ConcreteEntity.instance из класса Entity
Итак, вот сделка. Я пытаюсь получить доступConcreteEntity.instance
который является полем с типом доступа по умолчанию, который существует внутри по умолчаниюClassLoader
иEntity.getInstance
это метод, который существует у ребенкаClassLoader
.
Теперь имейте в виду, что они оба в одной упаковке, однакоIllegalAccessError
бросается. Есть ли решение этой проблемы, которое не требует от меня фактической загрузки класса Entity?ClassLoader
какConcreteEntity
?
0 new #14 <Entity>
3 dup
4 aload_0
5 invokevirtual #18 <Adapter.getInstance>
8 checkcast #20 <sl>
11 getfield #24 <sl.d>
14 invokespecial #25 <Entity.<init>>
17 areturn
Байт-код, полученный с помощью jclasslib, в котором исключение генерируется «После компиляции».
Спасибо, Гэмб, за уборку поста.