Sobes.tech
Junior — Middle

Lze v třídě definovat více konstruktorů se stejnou signaturou?

sobes.tech AI

Odpověď od AI

Ne, v Javě nelze definovat více konstruktorů se stejnou signaturou ve stejné třídě.

Signatura konstruktoru zahrnuje typy a pořadí parametrů. Pokud mají dva konstruktory stejné typy parametrů ve stejném pořadí, kompilátor vypíše chybu kvůli nejednoznačnosti.

Například takový kód způsobí chybu:

public class Example {
    public Example(int a, String b) {}
    public Example(int x, String y) {} // Chyba: duplicitní signatura
}

Pro přetížení konstruktorů musí jejich signatury lišit počtem nebo typy parametrů.