Java中,当一个类的某个成员变量前面不带任何权限修饰(private,protected,public),这种成员变量在Java中,会默认一种访问权限,包内部访问权限。即包内其他类可以访问该类,但是该类在包外部的其他类不能访问。
上一个简单的实例
package com.ggboy.partone;
public class PrivilegeDemo {
String mOne = "Hello";
public String mTwo = "World";
}
package com.ggboy.partone;
public class PrivilegeTest {
public static void main(String[] args) {
System.out.println(new PrivilegeDemo().mOne);
System.out.println(new PrivilegeDemo().mTwo);
}
}
上面跟下面的两个Test类的区别在于,上面的PrivilegeTest跟PrivilegeDemo在同一个包下,而PrivilegeTest_在另一个包下。
package com.ggboy.parttwo;
import com.ggboy.partone.PrivilegeDemo;
public class PrivilegeTest_ {
public static void main(String[] args) {
System.out.println(new PrivilegeDemo().mOne);
System.out.println(new PrivilegeDemo().mTwo);
}
}
此时编辑器会在PrivilegeTest_ 的“System.out.println(new PrivilegeDemo().mOne);”这个位置报如下错误
‘mOne’ is not public in ‘com.ggboy.partone.PrivilegeDemo’. Cannot be accessed from outside package