2009-05-17 2 views

Antwort

5

1) wenn die Schnittstelle nur im Rahmen Ihres Pakets benötigt wird. Zum Beispiel könnte eine Schnittstelle Ihren Code lesbarer machen, aber die Anrufer des Pakets brauchen das nicht.

2) Nein, das ist nicht möglich. Sehen Sie dieses link für mehr Info. Eine Schnittstelle definiert keine Implementierung. Wie können Sie es dann für die Implementierung schließen?

0

1) Sie haben möglicherweise Dienstprogramm-Methoden von mehreren Klassen in Ihrem Paket, die nie extern aufgerufen werden sollte. Oder sie werden möglicherweise nur von einer Klasse benötigt, aber diese Klasse ist so groß, dass Sie einige Methoden zur Wartbarkeit in eine andere Klasse verschieben möchten.

2) Ich würde versuchen, es muss aus (sorry, ich bin hineilend jetzt die Tür), aber Sie könnten zu effektiv tun können, dass durch einen geschützten Standardkonstruktor in der Schnittstelle zu deklarieren.

+0

Sie können Konstruktoren in einer Schnittstelle nicht deklarieren, beachten Sie. Der obige Hinweis ist richtig, wenn es öffentlich ist, kann es überall implementiert werden. –

2

Paket private Schnittstellen sind nur in Fällen solche Implementierungen der Strategie-Muster, wo durch mehrere Implementierungen, die Sie möglicherweise möchten, aber nicht wollen, dass die Welt der Typen bewusst sein.

Verwandte Themen