zoukankan      html  css  js  c++  java
  • java main方法

    1、问题:Java main方法为什么是  public static void main(String[] args)???

    序号 场景 编译 运行 解释
    1 public修改为private protected或者去掉 正常 Main Method not public 只有当main方法在公有级别上时才对JVM可见,所以需要使用public修饰
    2 去掉static Exception in thread "main" java.lang.NoSuchMethodError:main 如果要使main方法作为程序入口,不必要先去创建该类实例而是直接调用,所以该方法需要用static修饰
    3 修改返回值类型 JVMJava程序已经是最底层,由它调用的方法返回值没有任何地方可去,因此main方法不需要返回值,所以使用void修饰
    4 修改参数类型或添加多个参数 main方法需要接收命令行传入的参数(参数之间使用空格分隔),java规范使用字符串数组作为main方法的唯一入参,参数名可以不是args,如果不穿参数,该数组是empty而不是null
    5 修改方法名 含有main方法的类是Java应用程序,JVM只识别main作为程序入口,所以只能使用main作为方法名
    6 添加throw Exception 正常 main方法可以抛出异常
    7 publicstatic互换位置 正常  

    2、问题:main方法作为程序的入口

     1 public class Main 
     2 {
     3     static
     4     {
     5         System.out.println("123");
     6         System.exit(0);
     7     }
     8 
     9     public static void main(String[] args) 
    10     {
    11         System.out.println("456");        
    12     }
    13 }

    运行结果:123

    JVM在执行时,首先加载类,然后执行内部的静态块,然后再去调用main方法。

    上例中的静态块打印"123"之后 被强制退出程序,就没机会执行main方法了。

    学习技术不是用来写HelloWorld和Demo的,而是要用来解决线上系统的真实问题的.
  • 相关阅读:
    Jrain'Lのvueblog
    前端知识整理 の IMWeb
    js编程小练习1
    mac版本cornerstone的无限期破解方法(转)
    教你解锁被锁住的苹果mac电脑的文件跟文件夹,同时也可删除被锁的文件跟文件夹(转)
    Mac下配置svn服务器
    ios 查看模拟器路径以及应用的文件夹
    python怎么解压压缩的字符串数据
    python全局变量被覆盖的问题
    PyInstaller:把你的Python转为Exe
  • 原文地址:https://www.cnblogs.com/cac2020/p/5049315.html
Copyright © 2011-2022 走看看