1

DUPE:实践中的私人与公共成员(封装有多重要?)

在用 Java 编写程序的过程中,我已经抽象出一些库,我可以看到它们在未来的项目中可能会用到。

为什么我要为这些方法中的任何一种设置受限访问(私有/受保护)而烦恼?

看来这只会让我未来的生活变得更加复杂。如果我在所有东西上都使用 public,我将永远不需要担心我是否可以从其他类中调用某些东西。我从来没有在我的任何代码中看到过这样一个案例,我可以使用除 public 之外的任何东西。

在所有事情上都使用“公共”是错误的吗?我会被 Java 众神击倒吗?

4

1 回答 1

11

是的,在所有事情上都使用 public 是错误的。这意味着您完全不知道“此成员是公共 API 的一部分;您应该能够从外部世界使用它,并且它不应该更改”和“此成员是一个实现”之间的区别细节。如果我以后想改变它,我可以这样做,因为我不知道外界不会调用它。

明确区分 API 和实现对于 IMO 的灵活性和清晰度非常重要。

于 2009-02-10T18:04:28.703 回答