MENU

Java-34 main方法的理解

October 7, 2023 • Read: 69 • Java阅读设置

面向对象编程

main方法

1 main方法

1) 任何类都可以定义一个main方法,其作为程序运行的入口。
2) 格式:public static void main(String[] args){}

2 main方法的理解

1) main方法本质上仍是类中的静态方法,因此可以通过类名.main(arguments)的方式调用。
2) main方法各部分的理解:

  • public:main方法本质上仍是类中的方法,同时是程序运行的入口,因此权限必须足够大,才能使得系统(实际上是JVM)能够调用以顺利运行程序。
  • static:程序的运行是通过系统(实际上是JVM)调用对应类中的main方法实现的。而调用类中的方法只有2种方式:a.非静态方法必须先有对象,再通过对象调用。b.静态方法可以直接通过类.方法的方式调用。
    由于实例化对象等操作本身是写在main方法中的,换句话说,方式a的实现前提是先运行main方法
    因此,必须将main方法设置为static方法,使得系统(实际上是JVM)能够通过方式b运行程序。
  • voidmain方法是程序运行的入口,也就意味着main方法的结束代表着程序运行的结束,因此main方法不存在返回值。
  • mainmain方法的方法名为main,程序入口的象征。
  • (String[] args)main方法的参数规定为String型的一维数组,意味着调用main方法时需要传参。
    main方法之所以设置这个参数,主要是用于接收用户传入的参数,也就是说可以通过这个参数与main方法进行交互:

    • Eclipse中,给main方法传参的步骤为:Run As - Run Configuration - 选择当前类的字节码文件 - Arguments
      2023-10-07T13:58:18.png
    • 在控制台中,给main方法传参:输入运行编译后的字节码文件的命令时,在命令的最后以空格分隔开参数元素以传参java xxxClass arg1 arg2 arg3 ...
      注意,参数可加可不加双引号。
      2023-10-07T14:02:40.png
      一般我们不会去传参,这时系统(实际上是JVM)调用main方法时,会自动传入一个String型的数组作为参数。这里有待继续学习,因为输出的参数长度为0,代表没有传入参数,但又有参数对应的地址值。
      2023-10-07T14:03:03.png
Last Modified: October 10, 2023