访问权限的控制通常被称为具体实现的隐藏。把数据和方法包装在类中,以及具体实现的隐藏,常共同被称为封装。 出于两个原因,访问权限将边界划在了数据类型的内部。 1.设定客户端程序员可以使用和不可以使用的界限。 2.将接口与实现分离。客户端程序员除了可以向接口发送信息之外什么也不可以做的话,就可以随意更改所有不是public的东西,而不会破坏客户端代码。