2012-02-27 15 views

risposta

25

Sì, è possibile:

class A private (x: Int) { 
    def this() = this(42) 
} 
+7

È inoltre possibile chiamare il costruttore principale privato da l'oggetto associato; utile per i metodi di fabbrica. – retronym

+0

Tuttavia, non funziona con classi di casi. – Jus12

5

Sì - è possibile determinare la visibilità del costruttore principale specificando i modificatori dopo il nome della classe, ad esempio:

class Foo private (a: Int, b: String) { 
    // ... 
} 

e poi naturalmente i costruttori ausiliari può ancora (in realtà, deve) di riferimento questo costruttore principale, pur essendo dichiarato come pubblico.

Problemi correlati