关于java的主函数public static void main(String[] args)我们都已经非常熟悉,它是每一个java程序的入口函数。那么它为什么是这种形式呢?下面是我的一些理解。

  • public:访问权限最高。
  • static:静态,表示加载类的时候主函数就已经存在了。
  • void:表示主函数不返回任何值。
  • main:不是关键字,但是一个特殊单词,能被虚拟机所识别。
  • String[] args:表示主函数所带的参数为数组,数组名为args,数组名也可以为其他的名字,都不会造成影响。

从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 [] args) ”。

java主函数的解析相关推荐

  1. Java 主函数 main 中的关键字 static

    相信很多人在运行第一个可以运行的 Java 程序的时候都会要求写一个主函数. 然后很多人都会照葫芦画瓢的写一个下面的函数: public static void main(String[] args) ...

  2. 关于java主函数的理解

    java的main函数不属于哪一个类(因为他是static的),它只是告诉程序从哪儿启动,放在哪个类里面都可以. java主函数的定义如下: public static void main(Strin ...

  3. java主函数_《左手 Java 右手 Python 》之 Java 的安装与初识(1)

    (一)java 的安装与配置(windows) 1. jdk 安装 到oracle官网,下载 相应版本的Java SE 2. 验证安装 进入安装目录 3.配置环境变量 一共要配置 3 个环境变量 第 ...

  4. main主函数参数解析

    默认的main函数参数 int main(int argc, char *argv[]) {// 主函数的代码逻辑return 0; } 其中,int 是主函数的返回值类型,主函数执行完后会返回一个整 ...

  5. 2023-03-04 java 主函数main和测试函数test,还有调用函数(在主函数里面调用其他的函数)

    打完main会自动出来这一行  public static void main(String[] args) { } 这是一个类里面的主函数,一个房子里面只有一个主函数,而里面的test可以有好几个. ...

  6. java主函数的含义

    下面对java中的主函数进行简单的解释,解决可能困惑大家的问题,下面举的例子在实际开发中几乎不会出现,但是为了解决好奇心,大家可以这么去尝试一下! 我们在java中看到的主函数通常是这样的: publ ...

  7. java主函数(主方法)

    public (访问修饰符,公共的)代表该类或者该函数的访问权限最大 static 代表主函数随着类的加载而加载 void 代表主函数没有具体的返回值 main main不是java中的关键字,它是一 ...

  8. java主函数的写法_函数主函数调用函数怎么写

    1. 在主函数中,如何进入调用函数 [1]调用方法:先生成一个对象,用"对象.方法()"的方式调用.调用说明:java中的main方法是静态的,用于程序的入口,在静态方法中无法调用 ...

  9. java主函数的解剖

    主函数: public static void main(String[] args) 特殊之处: 1.格式是固定的 2.被jvm锁识别和调用 public:因为权限必须够大 static:不需要对象 ...

最新文章

  1. 使用dex2jar反编译APK时出现的问题
  2. Java静态初始化,实例初始化以及构造方法
  3. js实现对象不可更改
  4. [HNOI2018]游戏[拓扑排序]
  5. JVM实战与原理---内存回收策略
  6. Fiddler抓取https相关设置
  7. python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
  8. ftp改为sftp_科普!一文详解 FTP、FTPS 与 SFTP 的原理
  9. java中多线程重要吗_Java基础知识_多线程必要知识点
  10. yuzu模拟器linux,yuzu模拟器使用教程 yuzu模拟器手机版下载
  11. openwrt PPPoE拨号如何设置-小米3硬改
  12. 读 Robert C. Solomon 之 《世界哲学简史》
  13. java使用ffmpeg对视频进行转码和分辨率转换
  14. 麦凯隆全屋分质供水 保障家庭饮用水安全与健康
  15. 微信小程序生命周期和路由传参详解
  16. SVN提交(commit)时必须填写备注信息设置
  17. 景安网络快云mysql版本_景安快云数据库使用教程
  18. 大话设计模式策略模式_多种方法实现商场促销
  19. 侯捷C++视频资源全集 | 百度网盘下载
  20. 人工智能在游戏领域的应用

热门文章

  1. go每日新闻(2021-07-28)——字节跳动高频算法TopK
  2. LaTeX使用graphicx+subfig实现子图合并+标题+子图标题
  3. 搞不懂c++ 的函数声明与定义
  4. 勒索软件攻击_大流行期间出现了勒索软件攻击的三个新维度
  5. java nullable_java – 如何更有效地使用@Nullable和@Nonnull注释?
  6. 手游摇杆(一)最简单的四方向摇杆
  7. 《深度学习》 之 AlexNet卷积神经网络 原理 详解
  8. 【028】中国语言资源保护工程–了解不同方言和少语
  9. 碰撞计算,NSTimeInterval的使用, touchesEnded, touchesBegin
  10. 多系统引导背后的知识:磁盘、分区、文件系统、GPT、UEFI