在本篇文章中,我们以两个最简单的Java程序为例,来学习Java开发基本流程。

单Class程序

我们首先来编写第一个Java程序,这个程序十分简单,只需要编写一个.java文件。

  1. 在任意位置(例如:C:\Users\Administrator\Desktop)新建一个名为SingleClassApp.java的文件:

  2. 出现以下弹窗时,直接点

  3. 双击用记事本打开文件,输入以下代码:

    1
    2
    3
    4
    5
    public class SingleClassApp {
    public static void main(String[] args) {
    System.out.println("Hello World!");
    }
    }
  4. 点击Win+R,输入cmd,打开命令行窗口:

  5. 在命令行窗口输入以下命令,切换当前目录:

    1
    cd C:\Users\Administrator\Desktop

  6. 在命令行输入以下命令,编译.java文件:

    1
    javac SingleClassApp.java
  7. 此时会发现在当前目录下会新建一个SingleClassApp.class文件:

  8. 在命令行输入以下命令,执行.class文件:

    1
    java SingleClassApp
  9. 此时在命令行会打印出下面这句话:

多Class程序

接下来,我们来编写第二个程序。

该程序由两个文件组成,BootStrap.java调用Service.java提供的服务完成业务逻辑。

  1. 在任意目录下(例如:C:\Users\Administrator\Desktop)新建Service.java文件,输入如下代码:

    1
    2
    3
    4
    5
    public class Service {
    public static void helloWorld() {
    System.out.println("hello world!");
    }
    }
  2. 在同一目录下新建BootStrap.java文件,输入如下代码:

    1
    2
    3
    4
    5
    public class BootStrap {
    public static void main(String[] args) {
    Service.helloWorld();
    }
    }
  3. 点击Win+R,输入cmd,打开命令行窗口:

  4. 在命令行窗口输入以下命令,切换当前目录:

    1
    cd C:\Users\Administrator\Desktop

  5. 在命令行输入以下命令,编译.java文件(需要注意,Service.java文件在前面):

    1
    javac Service.java BootStrap.java
  6. 此时会发现在当前目录下会新建Service.classBootStrap.class文件。

  7. 在命令行输入以下命令,执行.class文件:

    1
    java BootStrap
  8. 此时在命令行会打印出下面这句话:

说明

1. 开发流程

以上是Java开发过程中的一个完整流程,总的来说可以分为以下几个步骤:

  1. 新建Xxx.java文件。
  2. 编写代码。
  3. 使用javac命令编译。
  4. 使用java命令执行。

随着后续IntelliJ IDEA等开发工具的使用,我们会发现3、4步都由工具帮我们完成。我们可以专注于编写代码

2. 编译&执行

运行Java代码,需要经过编译执行两个步骤:

  • javac命令(编译):将.java文件编译成.class文件。
  • java命令(执行):Java虚拟机根据.class文件执行程序。

需要注意:编译多个.java文件时,需要先编译没有引用其他.java文件的文件。执行时,仅需要调用包含main()方法的.class文件即可。

3. main()方法

main()方法是所有Java程序的入口,电脑会在main()方法中从头至尾地执行代码。

一个Java程序可能有多个main()方法,但是执行程序时只能选择其中一个main()方法作为入口。

通常来说,一个Java程序也只会编写一个main()方法。在遇到复杂项目的时候,我们可以尝试寻找它的main()方法,从头梳理业务逻辑。

许多框架会对通用流程进行封装,因此我们可能在程序执行的中间阶段进行编写业务代码。

但是我们因该牢记:main()方法是Java程序的入口。

4. 多个.java文件相互调用

在实际项目中,我们不可能在单个.java文件中编写所有业务逻辑(例如第一个例子)。

而是通过多个.java文件相互调用来对业务进行模块划分,便于开发和维护。多个.java可以通过各种依赖注入方式来进行调用,其实本质上和第二个例子没有任何区别。