我想询问java中的类声明是否只能public
和默认?
我已经读过文件中只能有一个public
类,该文件应该是该类的名称。
例如Test.java
public class Test {
}
但是我发现在课堂上我没有public
课,但可以有很多默认的课。
例如Exam.java
class Exam {
}
class Examination {
}
为什么我只能有一个public
类但在一个文件中可以有多个默认类?
答案 0 :(得分:7)
为什么我只能有一个公共课,但可以有很多 一个文件中的默认类?
7.6. Top Level Type Declarations:
此限制意味着每个最多必须有一个这样的类型 编译单位。 此限制使Java编译器变得容易 在包中找到命名类。在实践中,许多程序员 选择将每个类或接口类型放在自己的编译中 单位,无论是公开的还是由其他代码引用的 编制单位。
如果某个类没有修饰符(默认修饰符),则只能从同一个包中访问它。
答案 1 :(得分:3)
这是另一位回答者指出的设计决定。这有助于您长期组织代码。你可以拥有公共内部课程。