介绍
Java的主要
方法通常是你在启动Java编程时学到的第一个方法,因为它是执行Java程序的入门点。主要
方法可以包含执行或调用其他方法的代码,并且可以放置在程序的一部分的任何类中。
在以下示例中,包含主要
方法的类称为测试
:
1[label Test.java]
2public class Test {
3
4 public static void main(String[] args){
5
6 System.out.println("Hello, World!");
7
8 }
9}
在本文中,您将了解主要
方法的每个组件的含义。
Java 主要方法语法
主要
方法的语法总是:
1public static void main(String[] args){
2 // some code
3}
例如,您可以将args
更改为myStringArgs
。
公众
主
方法的访问编辑器必须是公共
,以便 JRE 可以访问并执行该方法. 如果方法不是公共的,则访问受到限制。
1[label Test.java]
2public class Test {
3
4 static void main(String[] args){
5
6 System.out.println("Hello, World!");
7
8 }
9}
编译和运行程序时,会出现以下错误,因为主要
方法不是公开的,JRE无法找到它:
1javac Test.java
2java Test
1[secondary_label Output]
2Error: Main method not found in class Test, please define the `main` method as:
3 public static void main(String[] args)
4or a JavaFX application class must extend javafx.application.Application
静态
当Java程序启动时,类中没有存在的对象。主
方法必须是静态
,以便JVM可以将类加载到内存中并调用主
方法,而不会先创建类的实例。
1[label Test.java]
2public class Test {
3
4 public void main(String[] args){
5
6 System.out.println("Hello, World!");
7
8 }
9}
编译和运行程序时,会出现以下错误,因为主要
方法不是静态
:
1javac Test.java
2java Test
1[secondary_label Output]
2Error: Main method is not static in class Test, please define the `main` method as:
3 public static void main(String[] args)
《Void》
每个Java方法都必须提供返回类型。Java主要
方法返回类型是空
,因为它不会返回任何东西。当主要
方法完成执行时,Java程序会终止,因此不需要返回对象。
1[label Test.java]
2public class Test {
3
4 public static void main(String[] args){
5
6 return 0;
7 }
8}
编译程序时,会出现以下错误,因为当返回类型为空
时,Java 不会预期返回值:
1javac Test.java
1[secondary_label Output]
2Test.java:5: error: incompatible types: unexpected return value
3 return 0;
4 ^
51 error
主
当一个Java程序启动时,它总是寻找主要
方法. 下面的示例代码显示了一个主要
方法重命名为myMain
:
1[label Test.java]
2public class Test {
3
4 public static void myMain(String[] args){
5
6 System.out.println("Hello, World!");
7 }
8}
编译和运行程序时,会出现以下错误,因为JRE无法在类中找到主要
方法:
1javac Test.java
2java Test
1[secondary_label Output]
2Error: Main method not found in class Test, please define the `main` method as:
3 public static void main(String[] args)
4or a JavaFX application class must extend javafx.application.Application
Java的主
方法接受一个单一的字符串
数组参数。数组中的每个字符串都是命令行参数。您可以使用命令行参数来影响程序的运行,或者在运行时传递信息给程序。
1[label Test.java]
2public class Test {
3
4 public static void main(String[] args){
5
6 for(String s : args){
7 System.out.println(s);
8 }
9
10 }
11}
当你编译程序,然后运行它用几个命令行参数分开空间时,参数被打印到终端:
1javac Test.java
2java Test 1 2 3 "Testing the main method"
1[secondary_label Output]
21
32
43
5Testing the main method
结论
在这篇文章中,你了解了Java主
方法的每个组件,继续学习更多 Java 教程。