Ist es sinnvoll, zwei Konstruktoren mit unterschiedlichen Zugriffsmodifikatoren zu verwenden? Was ist der genaue Verwendungszweck? Für zB:Zwei Konstruktoren mit unterschiedlichen Zugriffsmodifizierern in einer Klasse. Was ist der Nutzen?
public class Apple {
int count;
public Apple()
{
}
private Apple(int count)
{
this.count = count;
}
public void count()
{
System.out.println("Apple count is" + count);
}
}
Mit einem der Konstruktor wir alles aus der Klasse rechts
Von der Klasse ja, aber Access-Modifikatoren sind alles über die Kontrolle, was die Benutzer der Klasse sehen. – Tunaki
Dies kann sehr sinnvoll sein, aber es macht keinen Unterschied zu * innerhalb * der Klasse. Siehe die erste Spalte in [dieser Tabelle] (http://stackoverflow.com/a/33627846/276052). Wenn Sie verhindern wollen, dass andere Klassen den 'Apple (int count)' -Konstruktor verwenden und stattdessen sicherstellen, dass sie den no-arg-Konstruktor verwenden, wäre dieser Ansatz durchaus sinnvoll. – aioobe