
Если у конструктора указать возвращаемый тип, то он уже не будет рассматриваться как конструктор. Он будет рассматриваться как обычный метод, имеющий такое же имя, как конструктор.
public class ReturnConstructor {
ReturnConstructor() {
// эта строка вызовет ошибку компиляции - в классе нет конструктора с параметрами
// this("Are you a constructor?");
System.out.println(ReturnConstructor("Are you a constructor?"));
System.out.println("ReturnConstructor(): I'm a constructor");
}
String ReturnConstructor(String s) { // <-- не конструктор
return s + "\nString ReturnConstructor(String s): No, I'm not";
}
public static void main(String args[]) {
ReturnConstructor r = new ReturnConstructor();
/*
Are you a constructor?
String ReturnConstructor(String s): No, I'm not
ReturnConstructor(): I'm a constructor
*/
}
}