Возвращаемый тип конструктора

Возвращаемый тип конструктора

Конструктор всегда создаёт и возвращает объект класса, в котором он определён. Поэтому в своём описании он не содержит идентификатор возвращаемого типа.
Если у конструктора указать возвращаемый тип, то он уже не будет рассматриваться как конструктор. Он будет рассматриваться как обычный метод, имеющий такое же имя, как конструктор.


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
        */
    }
}
Методы и Инкапсуляция