public static void main(String[] args) - Java 主方法

介绍

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 教程

Published At
Categories with 技术
Tagged with
comments powered by Disqus