Является ли конструктор конструктором по умолчанию?
Есть ли способ узнать путем размышления, является ли конструктор сгенерированным компилятором конструктором по умолчанию или нет? Или есть какой-то другой способ?
УдивительноisSynthetic
метод не дает эту информацию, поэтому он можетне будет использоваться. И нетGenerated
аннотация присутствует.
public class JavaTest {
public void run() throws Exception {
out.println(JavaTest.class.getConstructors()[0].isSynthetic()); // Prints false
out.println(Arrays.asList(JavaTest.class.getConstructors()[0].getAnnotations())); // Prints []
}
}
Этот вопрос задает то же самое, но для C #:Определить сгенерированный компилятором конструктор по умолчанию, используя отражение в C #