我们一般都是通过IDE(如Eclipse、Intellij Idea,STS等)来开发,调试java项目。在不借助IDE的情况下,如何编译、运行Java程序。打包编译,这里我又要给大家讲解两个知识点:1.打包编译时,会自动创建包目录,不需要自己新建包名文件夹;2.当当前目录有多个java文件需要编译或打包编译时,javac -d . *.java 指令可以给当前目录下的所有 java 文件根据程序中是否有包声明进行编译或打包编译。
包机制概述
为了更好的组织类,Java提供了包机制,用于区别类名的命名空间,防止类名冲突,可以让类的用户更让容易检索到类。 包的本质就是文件夹!!
包(Package):用于管理Java类库的一种有效机制,提供了一种对工程中1个以上的类进行层次性、分门别类管理的有效方法。
Java中的包是专门用来存放类的,通常功能相同的类存放在同一个包中。需要注意的是,包的声明只能位于Java源文件的第一行。包通过package关键字声明,示例代码如下:
package cn.itcast.chapter01; //使用package关键字声明包
包语句的语法格式为:
package pkg1[.pkg2[.pkg3...]];
带包的类如何编译与运行
1.编译带包的类首先需要配置好环境变量
这样才能在cmd命令窗口下运行
2.配置好后在此输入 cmd 回车打开命令窗口
项目文件目录如下:
Hello World.java内容如下,大多数编程语言的起步学习,输出Hello World,注意 package com.blb.demo1;
package com.blb.demo1;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
}
3.输入 javac HelloWorld.java 回车进行编译
编译结果如下,生成了HelloWorld.class文件
4.此时的编译已经完成
运行class文件需要在包名的上一级目录,否则会报错
在包目录的上一级目录下输入cmd打开命令窗口,输入 java com.blb.demo1.HelloWorld (不要加.class后缀)
运行成功结果如下:
总结
- 1、Java 命令的参数是"类的完整类名",而不是"文件名"。
- 2、打包编译时,会自动创建包目录,不需要自己新建包名文件夹。
- 3、当当前目录有多个 java 文件需要编译或打包编译时,javac -d . *.java 指令可以给当前目录下的所有 java 文件根据程序中是否有包声明进行编译或打包编译。
- 4、当类路径不在当前目录下时,需要用到 java -cp ...,如:java -cp F:/javaweb/2022 mypack1.java。
- 5、要清楚 java 虚拟机根据包声明包导入执行字节码文件的流程。