When I was doing some testing with packages and package-private classes in Java, I noticed an interesting thing. The following is my projects source structure, the class MyTestClass.java
in package com.test.pkg
under source folder src
is a package-protected class. As per my understanding, this should not be accessible outside this package. But, interestingly MyTestClass.java
class is accessible in com.test.pkg
under source folder test
as well. This happens only if the package names are same, though they are in different source folders.
Can someone tell me why this happens ?
TestProject
|
-src
-com.test.pkg
-MyTestClass.java
-test
+com.test.pkg