第六章 访问权限控制

访问权限排序 public>proteced>包间访问权限(缺省关键字的)>private
在一个java文件中,必须要有一个和文件名一致的public 类,可以有多个并行的的包间可见的class(这个class不能包含任何修饰),除了本包范围,都不可见.一般他们提供为主public 类引用.为什么不能有private并行类?因为private 类主要是内部类,因为该类并不处于主class的内部,所以private 无意义.

6.2java 访问权限修饰词

默认包: class文件没有package 关键字,一般放在工作目录的根目录下,能够正常运行.如果在同一个目录下有多个默认包,可以允许包间访问(因为没有注明包名,只能在当前文件夹没访问).代码中是不能获取package信息.
默认包可以继承其他不同包的类.

Protected 关键字,允许子类访问,同样也允许包内访问.跨包范围无法访问.
但是如果一个子类是跨包的情况下,是否允许调用基类的protected方法呢?答案是可以的.
对于继承的访问权限,如果基类有一个方法,或成员变量为包间权限,那么子类如果不在同一包内是无法访问的.

6.4类的访问权限

1.每个编译单元(java文件)只能有一个public 类,可以有多个包间访问类(缺省修饰符)
2.虽然不常用,可以允许一个java文件类没有public类(缺省类)
3.单独类既不可以protected 也不可private(除了内部类)作为class的修饰

控制对成员的控制权限主要有两个原因:

1.为了让用户不要触碰那些他们不该触碰的部分.这些部分对于类内部操作是必须的,但不属于对外提供接口的一部分.也就是定义成 private
2.第二个也是最重要的原因,为了让类库设计者可以更改类的内部工作方式,而不会造成对客户端调用产生重大影响.主要体现对类的部分方法可以更改,或者重写,或者实现以达到比之前更高效的效果.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。 所有优秀的作者,又是哪些编写软件的程序猿,都清楚其著作的...
    JoneSnow阅读 1,070评论 0赞 0
  • public > protected > 包访问权限 > private 包:库单元 包:一组类的集合。通过imp...
    老茂在北京阅读 226评论 0赞 0
  • 处于隔离代码的目的,java提供了访问权限修饰词。 1. 访问权限修饰词 public、protected、pri...
    MAXPUP阅读 170评论 0赞 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,330评论 18赞 399
  • 蜗牛和黄鹂鸟,生活在同一片天空下。黄鹂鸟活泼幽默,蜗牛一直在同一片土壤上,静静地过着慢悠悠的日子。 蜗牛和黄鹂鸟是...
    南星小姐阅读 644评论 0赞 1

友情链接更多精彩内容