例如,我有一个Example.java文件,其中包含以下代码:
class Example { ... }
而且,在另一个文件ExamplePublic.java中我有:
public class ExamplePublic { ... }
所以,没有包定义。在这种情况下,类位于“未命名的包”中。
我想要理解的是,如果在这种情况下行为与指定包的行为相同:Example类具有“package-private”(默认)可见性(在未命名的包中),而ExamplePublic类可以从所有其他包中访问(因为它是公开的)。
或者默认包有什么变化吗?
谢谢。
答案 0 :(得分:0)
来自官方文档 Oracle
可以使用修饰符public声明一个类,在这种情况下,该类对所有类都可见。如果一个类没有修饰符(默认,也称为包私有),它只在自己的包中可见(包是相关类的命名组 - 您将在后面的课程中了解它们。)
答案 1 :(得分:0)
Java 6官方文档:http://java.sun.com/docs/books/jls/third_edition/html/packages.html#7.5
从未命名的包导入类型是编译时错误。