Java包级别访问 [英] Java Package level access
问题描述
我知道具有默认访问控制的类成员可以在包级别访问,但我对包级访问实际意味着什么感到困惑。如果可以在包级别访问默认成员,那么在下面的示例中,我不应该在类Test2中看到它吗?
class 1 -
I know that class members with default access control can be accessible at package level but i'm confused about what does package level access actually mean. If default members can be accessed at package level then shouldn't i be visible in class Test2 in following example? class 1-
package pkg1;
public class Test {
int i=0;
}
class 2 -
class 2-
import pkg1.Test;
public class Test2 {
void get(){
Test t = new Test();
t.i=0;
}
}
请帮助我理解这个概念。在此先感谢。
Please help me getting this concept. Thanks in advance.
推荐答案
包级别访问意味着只有定义的类在同一个包中可以访问包级别变量。如果你必须导入测试
,那么我假设测试
在不同的包中,因此它可以' t访问我
。
Package level access means that only classes that are defined in the same package can access the package level variable. If you have to import Test
, then I'm assuming that Test
is in a different package and therefore it can't access i
.
对于 Test2
来访问 i
,在与 Test1
相同的包中定义它。
For Test2
to access i
, define it in the same package as Test1
.
这篇关于Java包级别访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!