Если в вашем классе нет другого конструктора, компилятор создаст его для вас. Вы можете иметь конструктор без аргументов и не осознавать этого.
Если вы не пишете конструктор без аргументов и включаете хотя бы один конструктор, который принимает аргумент, компилятор не даст вам его. Отражение тоже не поможет: если вы попытаетесь найти конструктор без аргументов, а его нет, что вы ожидаете?
Не похоже, что вы можете использовать сериализацию объектов Java с использованием java.lang.Serializable, но это не единственный ваш выбор. Вы также можете использовать XML, JSON, или буферы прототипов, или любой другой удобный протокол.