这时大家可以把 MyNotepad.java 删除, 因为程序执行是通过解析目标文件 (.class 文件) 来完成的.
我们用记事本打开. class 文件看看其中内容, 看不懂..., 对, 因为这是机器读的. 相对于人来说,
机器读 class 文件比读 java 文件更容易.
所以我们需要一个编译过程来把 java 文件翻译成 class 文件, 同样把 class 文件翻译成 java 文件的过程们称为反编译, 本教程不讨论反编译的内容.
3. 我们运行 Java 程序, 传入参数 MyNotepad a.txt
这个过程中 Java 程序首先根据传入的参数 MyNotepad 去环境变量 CLASSPATH 中查找名为 MyNotepad 的类定义, 即 class MyNotepad 的定义,
因为我们设置了当前目录. 在环境变量 CLASSPATH 中, 所以 Java 程序在当前目录下找到了 MyNotepad 的类定义, 然后调用该类的固定入口 main 方法,
并将后续参数 a.txt 传入给 main 的 args 变量.
注: 在新版本的 JDK 中, 无需设置环境变量 CLASSPATH, 编译器会自动查找相关的库文件, 以后不再说明.
4.main 中将 args 的第一个传入参数 args[0](a.txt)和之前的字符串 Hello 拼接到一起, 生成新的字符串 Hello a.txt, 然后作为参数
传递给 Syste.out.println 方法, 该方法将传递的参数 "Hello a.txt" 输出到 DOS 界面.
总结:
到目前为止我们接触了如下概念:
类, 函数 / 方法, 参数
注: 函数和方法是同一概念
可以用下图表示:
public class 类名{
- 函数 1
- 函数 2
- 函数 3
...
- 主函数 main
}
其中函数定义如下
public static 返回值 函数名(参数类型 参数名){}
其中 {} 表示一个区块的开始和结束, 比如类定义, 函数定义.
在如下命令来运行 Java 程序时, 系统会默认调用名称为 main 的函数并将后续参数传递给 main 函数.(我们称 main 为主函数 / 主方法)
java 类名
函数的返回值我们将在后面介绍.
//////////////////////////////////////////////
接下来我们继续扩展这个程序
对于 System.out.println, 我们将在后续章节中说明, 因为本阶段我们理解不了这句话的具体含义, 所以我们将他暂时隐藏起来.
隐藏我们不想看到的内容, 首先想到的就是把他变成方法调用, 于是我们的程序变成这样:
来源: https://www.cnblogs.com/java123vip/p/8973744.html