background image

访问控制
    跟访问有关的三个访问修饰字:public(公共),private(私有)和 protected(保护)。
    我们已经介绍过没有关联关键字的第四种访问方式: default access(默认访问);具
有默认访问的项只能被在同一软件包中定义的项访问;由于它只给相同软件包中的成员
分配访问权限,所以也称它为软件包访问(package access)。比如,在下面的代码中,一
个类和一个方法是公共的,同时它们都有默认访问:

package MyStuff;
public class MyClass

{
public void getMoreStuff()
{
 

...

}
void doSomeMore()
{

...

}
}

class Helper
{

}
    通过上面的介绍可以知道,下面的说法都是正确的:
*任意类都可以定义 MyStuff.MyClass 类型的成员变量;
*任意类中的方法可以定义 MyStuff.MyClass 类型的局部变量;
*如果给定一个 MyStuff.MyClass 对象,则任意类中的方法可以调用 getMoreStuff 方法;
*只有在 MyStuff 软件包中的类才可以定义 MyStuff.Helper 类型的成员变量;
*只有在 MyStuff 软件包的类中的方法才可以定义 MyStuff.Helper 类型的局部变量;
*如果给定一个 MyStuff.MyClass 对象,则只有在 MyStuff 软件包中的类中的方法才可以调
用 doSomeMore 方法。
    有了默认访问或软件包访问,软件包的的创建者就可以定义只能被相同软件包中的其
他类进行访问的类、方法和成员变量。
Java 软件包
    我们来快速浏览一遍 Java VM

自带的一些软件包。这些包是作为以 java.”开头的可移植、

扩展的 Java 库的一个标准部分发布的;下面将详细地介绍 java.lang 软件包,并汇总说明
其他八个软件包。
Java.lang 软件包
    Java 语言的核心部分就是 java.lang 软件包,它定义了 Java 中的大多数基本的类。它的
核心地位是显然的:每一个 Java 源代码文件都引入了 java.lang 类中的语句:
    import java.lang.*;
    java.lang 软件包包含了 Object(目标)类,java.lang.Object 类式 Java 中整个类层次结构
的根节点,这个软件包还定义了基本数据类型的类:
    String          Boolean
    Character       Byte
    Integer         Short