什么是main方法?

是类中的一段代码,可以让程序独立运行。

public class HelloWord{
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
        System.out.println(args.length);
    }
}

HelloWorld 类中有main()方法,说明这是个java应用程序,通过JVM直接启动运行的程序。
这个main()方法的声明为:public static void main(String args[])。必须这么定义,这是Java的规范。

为什么要这么定义,和JVM的运行有关系。 当一个类中有main()方法,执行命令“java 类名”则会启动虚拟机执行该类中的main方法。

由于JVM在运行这个Java应用程序的时候,首先会调用main方法,调用时不实例化这个类的对象,而是通过类名直接调用因此需要是限制为public static。

对于java中的main方法,jvm有限制,不能有返回值,因此返回值类型为void。 main方法中还有一个输入参数,类型为String[],这个也是java的规范,main()方法中必须有一个入参,类细必须String[],至于字符串数组的名字,这个是可以自己设定的,根据习惯,这个字符串数组的名字一般和sun java规范范例中mian参数名保持一致,取名为args。  
因此,main()方法定义必须是:“public static void main(String 字符串数组参数名[])”。

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

为什么要调用main方法?

方便调试代码

怎么使用main方法?

将这一段代码放在public class中都可以使用

public class HelloWord{
    public static void main(String[] args) {
        System.out.println(args.length);
    }
}

注意:每个Java应用程序都必须有且仅有一个main方法

总结

1.在调试一些新工具类时方便调试。创建方式快(在我个人的idea中已配置代码模板。使用自定义缩写即可快速展出。)
2.可以理解为一张在写代码时用的草稿纸。

缺点:调用service时不方便
与测试类相比,不具备系统性。

结语:

相关知识点转自百度经验博文等(感谢蒙面大佬!!)

https://jingyan.baidu.com/article/6525d4b1605662ac7d2e94c8.html

https://blog.csdn.net/zdb292034/article/details/80713379

此篇是我个人的经验,如有不对之处,请麻烦大佬务必指出,谢谢啦!

最新文章

  1. swift 简介和常量与变量 --- swift 入门
  2. socket编程基础
  3. php 批量去空格和注释
  4. MAC 设置环境变量path的几种方法
  5. springmvc 解决跨域CORS
  6. C#获取程序路径
  7. [shiro] Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
  8. 安装MySQL在最后的start service停住了解决方法
  9. sql 查找数据库中某字符串所在的表及字段
  10. quartz 定时任务
  11. NYoj_104最大和
  12. Netty的并发编程实践2:volatile的正确使用
  13. Ceph常见问题百科全书
  14. mysql免安装版的下载与安装
  15. ajax跨域请求 Uncaught SyntaxError: Unexpected token :
  16. 《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w
  17. springmvc web.xml配置之 -- ContextLoaderListener
  18. 排查 Azure 虚拟机的远程桌面连接问题
  19. 四则运算3+psp0
  20. 转载 C#开发串口总结,并提炼串口辅助类到公用类库中

热门文章

  1. 写excel
  2. c++多线程基础1(thread)
  3. Shell等,不等......
  4. docker kubernetes swarm spring cloud结合学习资源
  5. ubuntu 软件使用
  6. SDK 开发 .a .framework .bundle (xcode引用) 依赖sdk工程
  7. chrome 相关设置.
  8. 1129 Recommendation System (25 分)
  9. Java中多线程并发体系知识点汇总
  10. 抽象工厂方法模式(Abstract Factory Pattern)