一、Java 程序的基本组成
Java 是面向对象语言,程序以 “类(class)” 为核心组织单元,运行入口固定为 main
方法。
- 一个最简 Java 程序的结构:
// 1. 类定义
public class HelloWorld {
// 2. 程序入口:main方法
public static void main(String[] args) {
// 3. 业务逻辑(如输出、计算等)
System.out.println("Hello, Java!");
}
}
二、class
:程序的 “容器”
1. 定义语法
[修饰符] class 类名 {
// 属性、方法、内部类等
}
2. 核心规则
规则 | 细节说明 |
---|---|
类名命名 | 首字母大写,采用驼峰式(如 UserService 、OrderSystem )。 |
与文件名的关系 | – 若类用 public 修饰,类名必须与文件名完全一致(包括大小写)。 <br>- 一个 .java 文件可定义多个类,但最多 1 个 public 类。 |
作用 | 封装属性(数据)和方法(行为),是 Java 程序的基本组织单元。 |
三、main
方法:程序的 “启动键”
1. 必选签名:public static void main(String[] args)
每个部分都有严格意义,缺一不可:
关键字 / 参数 | 作用说明 |
---|---|
public |
让 Java 虚拟机(JVM)能访问这个方法(JVM 是外部进程,需公开权限)。 |
static |
使 JVM 无需创建类的实例(new HelloWorld() ),直接通过类名调用方法。 |
void |
main 方法执行后不返回值给 JVM(逻辑结果通过输出或其他方式体现)。 |
main |
固定方法名,是 JVM 识别程序入口的唯一标识。 |
String[] args |
接收命令行参数(运行时通过 java 类名 参数1 参数2 传入,存储为字符串数组)。 |
2. 为什么必须这样写?
这是 Java 虚拟机的规范:只有符合 public static void main(String[] args)
签名的方法,才能被 JVM 识别为程序启动入口。
四、完整示例与解析
示例 1:单 public
类(文件名 HelloWorld.java
)
// 1. public类,类名与文件名一致
public class HelloWorld {
// 2. main方法:程序入口
public static void main(String[] args) {
// 3. 输出语句:业务逻辑
System.out.println("Hello, Java!");
// 4. 处理命令行参数(若运行时传入:java HelloWorld Alice Bob)
for (String arg : args) {
System.out.println("参数:" + arg);
}
}
}
示例 2:多类(文件名 Test.java
,无 public
类)
// 类A:包含main方法
class A {
public static void main(String[] args) {
System.out.println("A的main方法运行");
}
}
// 类B:无main方法
class B {
public void sayHi() {
System.out.println("Hi from B");
}
}
- 编译后生成
A.class
和B.class
。 - 运行时需指定包含 main 的类:
java A
(执行 A 的 main 方法),java B
不会运行,因为没有主程序入口。