Quand j'écris une classe le constructeur généré par le compilateur sera public serait comme p> alors que la défaut similaire à p> widget.java code>
public class Widget {
int data;
String name;
Widget() {}
}
7 Réponses :
Cela dépend de votre visibilité de classe
Comme la visibilité des cours est publique, il s'agira toujours d'un constructeur public. P>
Comme dit dans JLS p>
Si une classe ne contient pas de déclarations de constructeur, un constructeur par défaut qui ne prend aucun paramètre n'est fourni automatiquement: p>
Ce sera public code> car la visibilité de la classe est publique
Si votre classe est publique, le constructeur par défaut serait public dans votre cas, car la classe widget est publique que son constructeur par défaut fourni par le compilateur serait également public. Voir ceci < / p>
Ce sera widget public () {} p>
dépend de la visibilité de la classe. Pour votre constructeur de classe Dafault va être public. P>
Dans un type de classe, si la classe est déclarée publique, le constructeur par défaut est implicitement donné le modificateur d'accès public (§6.6); Si la classe est déclarée protégée, le constructeur par défaut est implicitement donné le modificateur d'accès protégé (§6.6); Si la classe est déclarée privée, le constructeur par défaut est implicitement donné le modificateur d'accès privé (§6.6); Sinon, le constructeur par défaut a l'accès par défaut impliqué par aucun modificateur d'accès. P> blockQuote>
de ici a>. p>