2012-02-27 4 views

Répondre

25

Oui, vous pouvez:

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

Vous pouvez également appeler le constructeur primaire privé de l'objet compagnon; utile pour les méthodes d'usine. – retronym

+0

Ne fonctionne pas avec les classes de cas cependant. – Jus12

5

Oui - vous pouvez déterminer la visibilité du constructeur primaire en spécifiant les modificateurs après le nom de classe, par exemple: référence

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

Et puis bien sûr les constructeurs auxiliaires peuvent encore (en fait, doit) cette constructeur primaire, tout en étant déclaré public.

Questions connexes