java中的类

  我们还没有讨论类成员如何才能在类外进行访问。你知道在一个静态的类方法内可以引用任何静态的类成员,一个非静态的方法可以引用类的任何成员。在一个类中,可以被其他类访问的变量和方法的限制要显得复杂些。它取决于你为类成员指定的访问属性(accessattributes)以及类是否在同一个包中。这也就是我们必须首先了解包的原因。

  使用访问属性

  让我们先从同一个包中的类开始考虑。在一个给定的包中,任何类都可以直接地访问其他的类名,例如,为了声明变量或者指定方法参数的类型你可以使用类名,但是,这些变量和方法如果是其他类的成员,就不一定可以访问。这些成员的可访问性由访问属性控制。在为一个类成员指定访问属性时,包括迄今为止我们在例子中已经使用过的,你可以有四种选择。要么什么都不指定;要么指定一种,每种访问属性都有完全不同的效果。你可用来为类中变量或方法指定可访问性的选项有:

  

  这张列表显示了你为类成员设置的访问属性是如何决定你可以从Java环境中的哪个部分访问它们。在下一章中我们将讨论子类,所以现在不用考虑它。后面我们将返回来介绍怎样以及何时使用protected属性。注意,public. private和protected都是关键字。把一个成员指定为pubic,则它就完全可访问。而另外一个极端,一个private成员将仅局限于同类中的成员可以进行访问。

  听起来比实际情况更复杂。请看下一张示意图,它显示了同一个包中类之间允许的访问情况。

  

  在一个包内,比如packagel,只是类classl的private成员,不能由同一个包中另一个类的方法直接地访问。把类的成员声明为priVaLe,就限制了它只可在同一个类的方法中使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值