控制对成员的访问权限有两个原因:(一)为了使用户不要触碰那些他们不该触碰的部分,这些部分对于类内部的操作是必要的,但它并不属于客户端程序员所需接口的一部分;(二)是为了让类库设计者可以更改类的内部工作方式,而不必担心这样会对客户端程序员产生重大的影响。
java通过访问权限修饰词来控制访问权限。
(一)包访问权限
即默认访问权限,没有任何关键字。指同一个包中的类之间有相互访问的权限(对于类成员,则是对public,protected和默认权限的成员具有访问权限)
(二)public:接口访问权限
使用public关键字,则意味着public之后紧跟的成员对每个人都是可见的。
(三)protected:继承访问权限
使用protected关键字,则该类及其子类具有对protected关键字后的成员具有访问权限。同时,protected提供包访问权限,相同包内的其他类可以访问protected元素。
(四)private:你无法访问
即:除了包含该成员的类,其他任何成员都不能访问这个成员
(五)接口和实现分离