重複の可能性:
「インターフェイスにプログラムする」とはどういう意味ですか?
オブジェクトを実装するインターフェイスの 1 つとして宣言することを好む人がいることに気付きました。変数のスコープ内では、それをインターフェイスと見なす必要はありません。たとえば、インターフェイスを必要とする外部 API はありません。
例えば:
Map<String, Object> someMap = new HashMap<String, Object>();
または、あなたはただすることができます
HashMap<String, Object> someMap = new HashMap<String, Object>();
インポートjava.util.Map
を完全に避けます。
クラス自体(上記の2番目)とは対照的に、インターフェース(上記の最初)を介して宣言する利点は何ですか?
ありがとう