Точка конструктора newInstance использует отражение? - PullRequest
0 голосов
/ 25 февраля 2019

Пусть MyClass будет классом, представленным этим Java-кодом:

public MyClass 
{
    private String foo;
    private Integer bar;
    public MyClass(byte[] contents) { ... }
}

Пусть myConstructor будет следующим экземпляром конструктора:

Constructor myConstructor = MyClass.class.getDeclaredConstructor(byte[].class);

У меня следующий вопрос

Использует ли этот код отражение?

byte[]  contents   = new byte[]{0,1,2};
MyClass myInstance = myConstructor.newInstance(contents);

или эквивалентен, когда экземпляр myConstructor создан, следующему коду?

byte[] contents = new byte[]{0,1,2};
MyClass myInstance = new MyClass(contents);

Отношение эквивалентности, о котором я думаю, заключается в том, что .newInstance(byte[] contents) имеет прямой доступ к конструктору так же, как и new, и единственная операция отражения - это поиск конструктора.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...