网站建设如何上传图片,医院网站建设公司,多人一起做视频网站,湘乡网站建设当我们创建main方法时#xff0c;首先都是public、都是static#xff0c;返回值都是void#xff0c;方法名都是main#xff0c;入参都是一个字符串数组。
在以上的方法声明中#xff0c;唯一可以改变的部分就是方法的参数名#xff0c;我们可以吧args改成任意我们想要使…当我们创建main方法时首先都是public、都是static返回值都是void方法名都是main入参都是一个字符串数组。
在以上的方法声明中唯一可以改变的部分就是方法的参数名我们可以吧args改成任意我们想要使用的名字。
main方法时JVM执行的入口为了方便JVM的调用所以需要将他的访问权限设置为public并且静态方法会方便JVM直接调用不需要实例化对象。
因为JVM的退出其实是不完全依赖main方法的所以JVM不会接收main方法的返回值所以给main方法定义一个返回值是没有任何意义的所以main方法的返回值为void。
为了方便main函数可以接受多个字符串参数作为入参所以他的形参类型被定义为String[]。
为什么main方法是公有的
Java中对于main方法来说我们需要通过JVM直接调用他那么就需要他的限定符必须是public的否则的话是无法被访问的。
为什么main方法是静态的
static是静态修饰符被他修饰的方法我们称之为静态方法静态方法有一个特点就是静态方法独立于该类的任何对象他不依赖类特定的实例被类的所有实例共享。只要这个类被加载Java虚拟机就能根据类名在运行时数据区的方法区内找到他们。
对于main方法来说他的调用过程就是经历了类加载、链接和初始化的。但是并没有被实例化这个时候如果想要调用一个类中的方法。那么这个方法必须是静态方法否则是无法调用的。
为什么main方法没有返回值
在Java中程序的退出是由JVM进行控制的在发生以下两种情况下程序就会被终止并退出
1. 所有不是后台守护线程的线程全部终止。
2. 某个线程调用了Runtime类或者System类的exit方法并且安全管理器并不禁止exit操作。
上面两种情况中第二种情况一旦发生JVM是不会管main方法有没有执行完的他都会终止所有行为并退出这个时候main方法的返回值是没有任何意义的。
为什么main方法的入参是字符串数组String[])?
Java应用程序是可以通过命令行接收参数传入的从命令行传递的参数可以在Java程序中接收并且可以 用作输入。
因为命令行参数最终都是以字符串的形式传递并且有的时候命令行参数不止一个所以就可能传递多个参数。
这个时候作为Java应用程序执行入口main方法就需要能够接收这多个字符串参数那么就使用字符串数组了。