Do I need to specify "void" return type for constructor ?
Constructors
never have return types. If you specify a return type then it is no longer a constructor. It is a method with the same name as the class.
If I tpye public TestConstructor() {}
Will it be automatically considered void by compiler ?
That is a valid constructor.
If I just type TerstConstructor() {}, will that be a legal name for contructor ?
Yes, if your class is called TerstConstructor. If your class is called TestConstructor then this will be a compiler error because the compiler will see it as a method without a return type.