Java разработана таким образом, что вы никогда не сможете "обмануть" ее, если используете java.lang / java. классы или другие стандартные библиотеки. Одна из самых важных вещей ООП заключается в том, что объекты должны находиться в определенном состоянии, поэтому вы можете быть уверены, что конструктор всегда запущен. Даже если вы используете какие-то странные библиотеки отражений, чтобы выполнить свою работу.
Итак, используя Class.forName ("me.Test"). NewInstance (); (или аналогичный) вызовет для вас конструктор Test ().
Если вы хотите вызвать другой конструктор, код выглядит примерно так:
Test test = (Test)Class.forName("Test").getConstructor(String.class).newInstance("Hello World");
Здесь getConstructor спрашивает, как выглядит конструктор (ему нужна строка), а затем вы вызываете его со строкой.