Junior — Middle
Czy można zdefiniować statyczną metodę o tej samej nazwie i parametrach w tej samej klasie?
sobes.tech AI
Odpowiedź od AI
W Javie nie można zdefiniować dwóch statycznych metod o tej samej nazwie i tych samych parametrach w jednej klasie. Wynika to z faktu, że metody są przeciążane na podstawie sygnatury (nazwa + typy parametrów), a identyczne sygnatury spowodują konflikt.
Jeśli spróbujesz zadeklarować dwie statyczne metody z taką samą sygnaturą, kompilator zgłosi błąd:
public class Example {
public static void method(int a) { }
public static void method(int a) { } // Błąd kompilacji: duplikacja metody
}
Dlatego przeciążanie jest możliwe tylko wtedy, gdy parametry się różnią.