1

当我在 Java 中对包和包私有类进行一些测试时,我注意到一件有趣的事情。以下是我的项目源码结构,源码文件夹下包中的类是MyTestClass.java包保护类。据我了解,这不应该在这个包之外访问。但是,有趣的是,类也可以在源文件夹下访问。仅当包名称相同时才会发生这种情况,尽管它们位于不同的源文件夹中。com.test.pkgsrcMyTestClass.javacom.test.pkgtest

有人能告诉我为什么会这样吗?

TestProject
|
-src
  -com.test.pkg
    -MyTestClass.java
-test
  +com.test.pkg
4

1 回答 1

3

在这种情况下,源目录根本不重要。重要的是:包名称相同,因此两个类属于同一个包 - 一切都是正确的。

于 2015-05-25T10:52:10.163 回答