对于java主函数main方法的理解

      首先,我们先来看看Java虚拟机规定main函数必须遵守的格式 public static void main(String[] args){},其中可以变化也就是args 变量名一般我们默认是args,但是我们同样可以对他进行自定义。

      现在,我们先说说看main函数为什么一定要public static的呢。main方法之所以是public,是因为一个Java程序在运行时首先创建一个JVM实例,程序要运行需要调用main方法,JVM从外部调用main方法这就需要访问权限修饰符必须给出外部访问的权限,所以只能用public。

      static的定义是为了JVM在调用main方法时不用实例化对象,只需要在初始时加载main方法所在类,然后直接通过类名.main来调用main方法。

      void表示main方法没有返回值,没有返回值的原因是因为Java不需要main方法向操作系统返回退出信息。如果main方法正常退出,那么Java应用层序的退出代码为0,表示成功的运行了程序。

      main的名称不能变是为了JVM能够识别程序运行的起点,main方法可以被重载,重载的main方法不会被执行。main方法作为程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程,非守护线程和守护线程,main方法属于非守护线程,守护线程通常由JVM自己使用,Java程序也可以表明自己的线程是守护线程。当程序中所有的非守护线程终止时,JVM退出。也可以用Runtime类或者System.exit()来退出。

      main()方法中可以throw Exception,因此main()方法中可以抛出异常,main()方法上也可以声明抛出异常。

      main()方法中字符串参数数组作用,main()方法中字符串参数数组作用是接收命令行输入参数的,命令行的参数之间用空格隔开。

猜你喜欢

转载自blog.csdn.net/dingpf1209/article/details/80274978