Java包级访问控制

4

我知道默认访问控制的类成员可以在包级别访问,但我对包级别访问实际上意味着仍然感到困惑。如果默认成员可以在包级别访问,那么在以下示例中,它不应该在Test2类中可见吗? class 1-

我了解默认访问控制的类成员可以在同一包内访问,但是我对同一包内访问的含义仍然感到困惑。如果默认成员可以在同一包内访问,那么在下面的示例中,它不应该在Test2类中可见吗? class 1-

package pkg1;
public class Test {
   int i=0;
}

二级类

import pkg1.Test;
public class Test2 {

void get(){
    Test t = new Test();
    t.i=0;
}
}

请帮助我理解这个概念。提前谢谢。

2个回答

8

包级别访问意味着只有在同一包中定义的类才能访问包级别变量。如果您必须导入Test,那么我假设Test在不同的包中,因此它无法访问i

为了使Test2可以访问i,请将它定义在与Test1相同的包中。


0

你忘记写了

package pkg1; 

针对Test2类。

现在应该可以工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接