java的编译和运行过程实际上还是比较复杂的,如果深入研究可能需要花费很多时间,暂时就先做个简单了解,以后如果有需要再做研究。
一切从简的话,java的编译和运行大体分为两步:
- 编译:从源代码文件(.java)编译成字节码文件 (.class)
- 运行:字节码由java虚拟机(JVM)解释执行
基本原理了解了之后,我们就可以开工了。按照传统的做法,先来个Hello world
- 在工作区
F:\java-workspace
新建文件夹start
- 新建文件hello.java,然后使用vscode编写代码如下:
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
- 使用
javac
命令编译
这是什么情况?跟预想的不一样?
按照提示修改下:将文件名改为HelloJava.java
,执行命令javac hellojava.java
再试
这时没有错误提示,同时在当前目录中生成了一个文件HelloJava.class
。
修改文件 HelloJava.java,增加一个公共类HelloJava2
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
public class HelloJava2 {
}
再次执行 javac hellojava.java
再次修改HelloJava.java,修改HelloJava2
为private
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
private class HelloJava2 {
}
再次执行 javac hellojava.java
再次修改代码
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
private class HelloJava2 {
}
}
再次执行
程序执行成功!
C#程序猿看到这个着实不解~!@
之前都是听说,今天终于验证了一把。
- 使用
java
命令运行程序,分别尝试不同大小写名称
结论:
java公共类名要与所在的文件名一致,且一个文件中只能定义一个类(内部类除外)
java
命令区分大小写
参考文章:
https://www.cnblogs.com/luobiao320/p/7975442.html
https://www.cnblogs.com/qiumingcheng/p/5398610.html