Sobes.tech
Junior — Middle

Lehet-e ugyanazzal a névvel és paraméterekkel statikus metódust definiálni ugyanabban az osztályban?

sobes.tech MI

Válasz az MI-től

Java-ban nem lehet két ugyanazzal a névvel és ugyanazokkal a paraméterekkel rendelkező statikus módszert definiálni ugyanabban a osztályban. Ez azért van, mert a módszerek túlterhelhetők aláírás szerint (név + paraméter típusok), és azonos aláírás konfliktust okoz.

Ha megpróbálsz két ugyanazzal az aláírással rendelkező statikus módszert deklarálni, a fordító hibát ad:

public class Example {
    public static void method(int a) { }
    public static void method(int a) { } // Fordítási hiba: módszer duplikáció
}

Ezért a túlterhelés csak akkor lehetséges, ha a paraméterek különböznek.