我可以导入同一个包两次吗?JVM会在运行时加载两次这个包吗?
在 Java 中,相互关联的类和接口被分组到一个包中。包只不过是一个存储特定概念的类和接口的目录。例如,所有与输入和输出操作相关的类和接口都存储在 java.io 包中。
创建包
您可以通过在类/接口(文件)顶部使用关键字 package 声明包来将所需的类和接口分组到一个包中,如下所示:
示例
public class Sample{ public void demo(){ System.out.println("This is a method of the sample class"); } public static void main(String args[]){ System.out.println("Hello how are you......"); } }
与其他程序不同,要编译带有包的程序,您需要使用 javac 命令的 –d 选项,并指定需要创建包的目标路径。
输出
Hello how are you......
如果您没有指定目标路径,则包将创建在当前目录中。
导入类
要访问分组到包中的类/接口,您需要在 classpath 变量中添加包的位置(或确保包在当前目录中),并使用 import 关键字导入其类/接口。
示例
import com.tutorialspoint.mypackage.Sample; public class Test{ public static void main(String args[]){ Sample obj = new Sample(); obj.demo(); } }
输出
This is a method of the sample class
导入同一个类两次
是的,您可以在 Java 中导入同一个类两次,这不会造成任何问题,但是,无论您导入多少次,JVM 只会加载该类一次。
示例
在以下 Java 程序中,我们尝试仅导入一次 com.tutorialspoint.mypackage 包的 Sample 类。
import com.tutorialspoint.mypackage.Sample; import com.tutorialspoint.mypackage.Sample; public class Test{ public static void main(String args[]){ Sample obj = new Sample(); obj.demo(); } }
输出
This is a method of the sample class
广告