控制对类成员的访问权限

  权限修饰符决定了其他类是否可以使用某个类或访问某个类的成员。有以下两种级别的权限控制。

1.类级别的访问权限

  类级别的访问权限通过加在class关键字之前的权限修饰符决定,它控制的是其他类对该类的访问权限,只有public或包私有(就是没有权限修饰符)两种。public权限意味着其他所有的类都可以使用该类,而包私有权限则意味着只有在同一个包(有关包的概念将会在下一篇教程中介绍)中的类才可以使用该类。你可能在在后面的有关内部类的文章中会看到class关键字前面可以使用private或protected,但这个类实际上已经是某个类的成员,它的访问权限属于成员级别的访问权限。

2.成员级别的访问权限

  成员级别的访问权限通过加在类的成员之前的权限修饰符来决定,它控制的是其他类对该成员的访问权限,分为public、protected、包私有和private。public意味着其他所有的类都可以访问该成员,protected意味着只有该类所在包中的其他类或该类的子类才可以访问该成员,包私有意味着只有该类所在包中的其他类可以访问该成员,private意味着该成员只能在该类中访问。下面的表格显示了它们的关系:

  例如,下面的几个类关系如下:

  下面的表格显示了这几个类对Alpha类中被不同权限修饰符修饰的成员的访问权限:

  一般来说应该尽可能的对域使用private,除非它是一个公共的常量,这种情况下应该使用public。

收藏 打印