Java 默认包中定义的类的可访问性
例如,我有一个文件example.java,其中包含以下代码:Java 默认包中定义的类的可访问性,java,class,package,access-modifiers,Java,Class,Package,Access Modifiers,例如,我有一个文件example.java,其中包含以下代码: class Example { ... } 在另一个文件ExamplePublic.java中,我有: public class ExamplePublic { ... } 因此,没有包定义。在这种情况下,类位于“未命名包”中 我想了解的是,在这种情况下,行为是否与指定包的行为相同:示例类具有“包私有”(默认)可见性(在未命名包中),而ExamplePublic类可以从所有其他包访问(因为它是公共的) 或者默认包是否有任何更改
class Example { ... }
在另一个文件ExamplePublic.java中,我有:
public class ExamplePublic { ... }
因此,没有包定义。在这种情况下,类位于“未命名包”中
我想了解的是,在这种情况下,行为是否与指定包的行为相同:示例类具有“包私有”(默认)可见性(在未命名包中),而ExamplePublic类可以从所有其他包访问(因为它是公共的)
或者默认包是否有任何更改
谢谢。来自官方文件
- 访问级别修饰符确定其他类是否可以使用特定字段或调用特定方法。有两个级别的访问控制: 在顶级public或package private(无显式修改器)
- 在成员级别上为public、private、protected或package private(无显式修改器)
Java 6官方文件: 从未命名包导入类型是编译时错误
如果你想使用这个技巧,你可以这样做: