JVM(十一) 运行时包

来源:互联网 发布:中国跨境电子商务数据 编辑:程序博客网 时间:2024/06/04 00:49

由同一类加载器加载的属于相同包的类组成了运行时包。

决定两个类是不是属于同一个运行时包,不仅要看它们的包名是否相同,还要看定义类加载器是否相同。

只有属于同一运行时包的类才能互相访问包可见(即默认访问级别)的类和类成员。这样的限制能避免用户自定义的类冒充核心类库的类,去访问核心类库的包可见成员。

假设用户自己定义了一个类java.lang,Spy,并由用户自定义的类加载器加载,由于java.lang.Spy和核心类库java.lang.*由不同的加载器加载,它们属于不同的运行时包,所以java.lang.Spy和核心类库java.lang.*由不同的加载器加载,它们属于不同的运行时包,所以java.lang.Spy不能访问核心类库java.lang包中的包可见成员。

0 0
原创粉丝点击