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
本文深入解析Java中的访问权限,特别是默认的包访问权限。通过具体示例,展示如何使用不同访问级别的成员变量,并解释为什么某些变量无法从包外访问。
1635

被折叠的 条评论
为什么被折叠?



