我正在阅读一本Java书籍,并附有以下段落:
import和package语句适用于源代码中的所有类
代码文件。换句话说,无法声明多个类
放在一个文件中,并以不同的包或使用不同的文件
进口。
我在理解此段时遇到困难,可以请有人向我解释其背后的想法吗?
最佳答案
您可以在一个文件中声明多个类,例如,以下将定义Foo
,Bar
和Baz
类:
package com.example;
import java.util.List;
import java.util.ArrayList;
public class Foo {
public class Bar {}
}
class Baz {}
每个文件只能有一个顶级公共类,在这种情况下为
Foo
。注意打包声明;这适用于文件中的所有类;所有的类都在'
com.example
'命名空间中-您不能在'Foo
'中使用com.example
在'Bar
'中使用com.example.something
导入适用于此文件中的所有类。您不仅可以将导入内容提供给
Baz
(或文件中声明的类的任何子集)您可能想知道在
Bar
类中声明的Foo
在做什么?这是一个内部类-关于内部类的(有点稀疏)oracle教程是here