添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Java中main()方法的格式为什么是固定不变的?

有过编写Java程序的开发人员都清楚,Java中的main()方法定义必须是“public static void main(String[] 字符串数组参数名)”,本节告诉大家为什么在Java中定义main()方法的语法是不可以改变的。

1.public

public这个字段决定了方法是否可以被外部方法调用。我们知道C语言里的函数是运行在操作系统环境中的,可以认为是操作系统的一个大的方法,这个方法调用了C语言的main()。Java中也是同样的道理,只不过Java的main()方法是跑在JVM中的。如果不限定public,JVM就不能调用main()方法。

注意:在Java SE1.4以前是不强制main()方法为public的。当main()方法不是public时,有些版本的JVM也可以执行Java应用程序。Java SE1.4及以后的版本中强制main()方法是public。

2.static

在C语言中,所有的函数都可以被直接调用,main()函数相当于全局方法,没有类的概念,但是在Java中一般首先要创建一个类的对象,再通过对象调用方法,但是在执行main()方法之前创建一个对象显然是不可能的,因为JVM规定了main()方法为程序的入口方法,从main()开始执行。static关键字就解决了这个问题,static关键字修饰的方法可以视为类方法,不需要创建对象就可以直接调用该方法。

3.void

由于Java的main()主方法是栈中最底层的方法,所以并不存在能够接收的值,没有能接收main()方法的返回值,所以使用void。

为什么Java不能像C/C++那样返回int型值?

C语言的main()函数的调用过程:首先,程序进入到入口方法之前,是发生了很多事情的。操作系统的安排,启动运行时库,运行时库再初始化好环境,然后再启动入口函数,程序才能正常运行起来。等程序运行结束后,就退回到运行时库,然后再退回到操作系统,然后系统再调度其他程序执行。因为main()不是由操作系统直接调用,所以返回类型不一样也是可以理解的。可以认为运行时库就是操作系统和main()函数的中间联系人,在C语言中由运行时库直接调用main()函数,所以main()函数的返回值也是运行时库接收。

在Java中,可以认为是操作系统—>JVM—>main()方法这样的调用过程,JVM直接调用main()方法,所以如果main()方法有返回值,即JVM接收。但是JVM被设计为不接受任何返回值,所以main()方法不能有返回值,只能void。

4.String[]

Java中的String字符串的底层实现为final char[],类似于C语言中的字符数组。而主方法中参数类型String[] 就类似于C语言中的参数char**和int,Java中的数组可以记录数目,所以省去了来表示数组元素个数的int类型的参数。

因此,main()方法的定义必须是:“public static void main(String[] 字符串数组参数名)”,这是Java语言的规范。

Java中main()方法的格式为什么是固定不变的?有过编写Java程序的开发人员都清楚,Java中的main()方法定义必须是“public static void main(String[] 字符串数组参数名)”,本节告诉大家为什么在Java中定义main()方法的语法是不可以改变的。1.publicpublic这个字段决定了方法是否可以被外部方法调用。我们知道C语言里的函数是运行在操作系统环境中的,可以认为是操作系统的一个大的方法,这个方法调用了C语言的main()。Java中也是同样的道理,只 这是spring boot的启动类 public class SpringbootApplication { public static void main (String[] args) { SpringApplication.run(SpringbootApplication.class, args); 可以看到它的 main 方法 上有参数args。 这时如果我们想在项目启动时传入参数到这个 main 方法 ,然后根据参数的不同来做相应的逻辑,以下做个传参的示例: public class SpringbootAp Argument 文C#文档的官方译法为“实际参数”,简称“实参”,可理解为调用发发时的真实条件 调用 方法 时的argument列表要与定义 方法 时的parameter列表相匹配 C#是强类型语言,argument是值、par. (1) 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 (2)任何传入参数和自变量必须放在圆括号 间,圆括号之间可以用于定义参数。 (3)函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 (4)函数内容以冒号起始,并且缩进。 (5)return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 N
Java 程序 main 方法 是程序的入口点。它是程序执行的起点。在 Java main 方法 必须满足以下条件: - main 方法 必须是公共的(public)。 - main 方法 必须是静态的(static)。 - main 方法 必须返回 void。 - main 方法 必须接收一个字符串数组作为参数(String[] args)。 因此, main 方法 的通常声明 格式 如下: public static void main (String[] args) { // 在此处编写程序代码 在程序 ,你可以通过调用 main 方法 来启动程序。当你运行 Java 程序时, Java 虚拟机会找到并执行 main 方法 的代码。 例如,如果你想要在 main 方法 输出一条消息,你可以这样写: public static void main (String[] args) { System.out.println("Hello, World!"); 当你运行这个程序时,它会输出 "Hello, World!"。