объявление возвращаемого типа в конструкторе не приводит к ошибке компиляции - PullRequest
4 голосов
/ 18 марта 2012

Я писал код на Java и, рассеянно, в какой-то момент набрал public void BaseStation() в качестве конструктора для класса BaseStation. К моему удивлению, это не вызвало ошибку во время компиляции, и программа запустилась. Это почему? Есть ли какая-то причина, чтобы кто-то имел тип возвращаемого значения для конструктора?

Ответы [ 3 ]

7 голосов
/ 18 марта 2012

Указание возвращаемого типа делает его методом, а не конструктором. Вы можете иметь метод с тем же именем, что и у класса (хотя это противоречит соглашениям и ухудшает читабельность)

2 голосов
/ 18 марта 2012

Нет, компилятор просто думает, что вы написали метод с именем BasedStation, и не интерпретирует его как конструктор.

0 голосов
/ 18 марта 2012

Это тип перегрузки в Java.Вы также можете перегрузить, изменив параметры метода.

...