2017-06-29 3 views

Antwort

1

Sie können es später ändern die zu einem anderen Klassenobjekt verwenden. Zum Beispiel

Map m = new HashMap(); 
m = new TreeMap(); 

Auf diese Weise können Sie bequem die Implementierung jederzeit ändern.

Der zweite zu beachtende Punkt ist, dass Sie mit der Schnittstellenreferenz nur die Methoden der untergeordneten Klasse aufrufen können, die in der Schnittstelle deklariert sind.

Sie können die Methoden der untergeordneten Klasse nicht aufrufen, die nicht in der Schnittstelle deklariert sind und daher keine Methoden außer Kraft setzen.

0

Von Joshua Blochs, Effektive Java, sagt er, dass es besser ist, wenn möglich, Objekte über ihre Schnittstellen zu verweisen. Dies gibt Ihrem Programm im Laufe der Zeit mehr Flexibilität, und wenn Sie entscheiden, dass Sie Implementierungen wechseln wollen, müssen Sie nur den Klassennamen im Konstruktor ändern. Gründe für eine Änderung der Implementierung können eine bessere Leistung oder zusätzliche Funktionalität sein.

Es ist völlig in Ordnung, auf Objekt für Klasse statt auf Schnittstelle zu verweisen, wenn keine Schnittstelle dafür existiert.

Verwandte Themen