为什么在Java中公开集合的实现是一种糟糕的风格

时间:2012-11-03 20:51:40

标签: java set

  

可能重复:
  Why should the interface for a Java class be prefered?

我在一本书中读到,揭露实现的风格很差,所以:

好:Set s = new HashSet( );

公平:HashSet s = new HashSet( );

你能解释一下这是为什么吗?

1 个答案:

答案 0 :(得分:0)

您应始终编程到接口而不是实现。这允许松耦合 例如,如果在第一种情况下将HashSet替换为TreeSet,则代码不会受到影响。将这种变化与第二种情况进行比较 因此,只要客户端代码使用接口而不是具体类型,您就可以在不影响客户端代码的情况下切换实现。

相关问题