Class.newInstance устарел в Java 9:
clazz.newInstance()
можно заменить на
clazz.getDeclaredConstructor().newInstance()
Проблема в том, что getDeclaredConstructor возвращает любой конструктор без учета уровня доступа.
Если я хочу заменить все вхождения в моем коде (на разные пакеты/уровень доступа), я должен использовать getConstructor, чтобы получить открытый конструктор?
объект Constructor открытого конструктора, который соответствует указанному параметру типа
Или я не могу массово заменить все вхождения, потому что это необходимо для каждого случая (если существует открытый конструктор и/или если у меня есть правильный уровень доступа для класса)?
РЕДАКТИРОВАТЬ
getDeclaredConstructor:
return getConstructor0(parameterTypes, Member.DECLARED);
getConstructor:
return getConstructor0(parameterTypes, Member.PUBLIC);