Java的访问权限控制及package出现的原因及好处

        访问控制(或者隐藏具体实现)与“最初的实现并不恰当即重构”有关
        由于重构的原因(使得代码更加容易理解、更可读),需要对代码进行改动,但是通常总有一些消费者(即客户端程序员)需要你的代码在X些方面保持不变(即类库的更新不能影响到消费者程序的执行),所以产生了面向对象设计中一个基本问题:怎么将变动的部分和不变动的部分区分开来;
        为了解决这个问题,第一个方法是通过约定来达到,即类库开发者必须向消费者保证不得删除任何现有方法,但是在有域存在的情况下,类库开发者怎么才能知道哪些域已经被客户端所调用呢?
        第一种方法显然不可行,限制了类库开发者的开发;所以出现了访问权限修饰词,类库开发者通过它向客户端程序员指出哪些是可变的、哪些是不可变的;但是按照这种方式(只有private和public),如果客户端不能调用方法或域的话,那么类库开发者也不能调用这个方法或域了。。。所以出现了Java的package,它提供了default权限修饰符,即一个包内的类可以访问由default修饰的域或方法,包之外的类就不可以访问default修饰的域或方法了。这样就将类库开发者和类库使用者(消费者)设立了界限-即谁可以访问谁,谁不可以访问谁。
    package还有几个好处:
      1、包名+类名构成了类的全名,保证了类名的唯一性
      2、将包名按点拆分成路径存储在电脑上,防止了”同类名 “的类文件覆盖问题
    package注意事项:1、必须放在的第一行( 除了注释和空行之外

以上内容从Java编程思想第四版总结而来,各位大牛有什么意见可以提出来 大笑,欢迎交流~~~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值