Java中的包访问权限

Java默认访问权限没有任何关键字,但通常是指包访问权限(有时也表示成为friendly)。

   这就意味着当前的包中的所有其他类对那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private。

   由于一个编译单元(即一个文件),只能隶属于一个包,所以经由包访问权限,处于同一个编译单元中的所有类彼此之间都是自动可访问的


   Java中包访问权限允许将包内所有相关的类组合起来,以使它们彼此之间可以轻松地相互作用。

   当把类组织起来放进一个包内之时,也就给它们的包访问权限的成员赋予了相互访问的权限,您“拥有”了该包内的程序代码。“只有您拥有的程序代码才可以访问您所拥有的其他程序代码”,这是合理的。

   应该说,包访问权限为把类群聚在一个包中的做法提供了意义和理由。在许多语言中,在文件内组织定义的方式是任意的,但在Java中,则要强制您以一种合理的方式对它们加以组织。

   另外,您可能还想要排除这样的类 —  它们不应该访问在当前包中所定义的类。


   类控制着哪些代码有权访问自己的成员。其他包内的类不能刚一上来就说:“嗨,我们是会员。”并且还想看到protected,包访问权限和private成员。取得对某成员的访问权的唯一途径是:


   1、使该成员成为public。于是,无论是谁,无论在哪里,都可以访问该成员。


   2、通过不加访问权限修饰词并将其他类放置于同一个包内的方式给成员赋予包访问权。于是包内的其他类也就可以访问该成员了。(通俗的说就是,A成员在A类中没有特定的访问修饰符修饰,那么在同一个包下的B类也有权限访问A类中的A成员)


   3、在继承技术中您会看到继承而来的类既可以访问public成员也可以访问protected成员(但访问private成员却不行)。只有在两个类都处于同一个包内时,它才可以访问包访问权限的成员但现在不必担心继承和protected。


   5、提供访问器(accessor)和变异器(mutator)方法(也称作get/set方法),以读取和改变数值。对OOP而言,这是最优雅的方式,而且这也是JavaBeans的基本原理。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值