java-interview icon indicating copy to clipboard operation
java-interview copied to clipboard

Ошибка? В ответе на "Могут ли нестатические методы перегрузить статические?"

Open kirinalexdev opened this issue 3 years ago • 2 comments

У меня в этом примере возникают две ошибки 'method_()' is already defined in 'Class_'

class Class_ {
    static 
    void method_(){ }
    
    void method_(){ }
}

java 17.0.2 2022-01-18 LTS Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86) Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

kirinalexdev avatar Feb 03 '23 12:02 kirinalexdev

Так ты не перегружаешь. Измени сигнатуру метода или возвращаемый тип или передаваемые параметры

GabovskyBogdan avatar Feb 14 '23 06:02 GabovskyBogdan

Это не объясняет почему в объяснении ответа делается акцент на то, что вызов статического метода должен осуществляться через класс, а не экземпляр. Кроме того, возвращаемый тип не учитывается в сигнатуре метода.

Могут ли нестатические методы перегрузить статические? Да. В итоге получится два разных метода. Статический будет принадлежать классу и будет доступен через его имя, а нестатический будет принадлежать конкретному объекту и доступен через вызов метода этого объекта.

vladmkn avatar Jun 07 '23 08:06 vladmkn