Вы не можете форсировать какие-либо сигнатуры конструктора в Java.
Вам лучше обнаружить проблему во время выполнения и выбросить / распространить RuntimeException
. Вот что делает механизм сериализации, например.
Чтобы пойти немного дальше - если возможно, опустите зависимость от .newInstance()
, сделайте аннотацию @FactoryMethod
и используйте ее для метода static
, который будет фабричным методом:
public class Foo {
@FactoryMethod
public static Foo createFoo() {
return new Foo();; // or use another constructor, if there is no default?
}
...
}