日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java的main函数为什么是public static void main(String[] args)

發(fā)布時(shí)間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java的main函数为什么是public static void main(String[] args) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這個(gè)問題困擾我好久了,今天就一查究竟,畢竟我好奇心比較重


1. why “public”

? ?因?yàn)閖ava程序是通過jvm虛擬機(jī)調(diào)用的,所以main()函數(shù)要是想被調(diào)用,必須是public


2.why “static”

? ?在java中,沒有static的變量或函數(shù),如果想被調(diào)用的話,是要先新建一個(gè)對(duì)象才可以。而main函數(shù)作為程序的入口,需要在其它函數(shù)實(shí)例化之前就啟動(dòng),這也就是為什么要加一個(gè)static。main函數(shù)好比一個(gè)門,要探索其它函數(shù)要先從門進(jìn)入程序。static提供了這樣一個(gè)特性,無需建立對(duì)象,就可以啟動(dòng)。


3.why “(String[] args)”?

? ?(1)先來說說,為什么這個(gè)字符串?dāng)?shù)組要叫“args”,其實(shí)這個(gè)是約定俗成的一種命名,不叫"args"叫其它的也是ok的,不信可以自行測(cè)試。

? ?(2)再來看看為什么要是一個(gè)String的數(shù)組,java在運(yùn)行的時(shí)候是這樣的(如下),有點(diǎn)像命令行,a1,a2,a3就是這個(gè)String數(shù)組里的命令。

java main a1 a2 a3


下面我們?cè)谏钊氲絡(luò)vm驅(qū)動(dòng)里面看看,main()函數(shù)是怎樣被啟動(dòng)的:

mainID = (*env)->GetStaticMethodID(env, mainClass, "main", "([Ljava/lang/String;)V");

這是jvm啟動(dòng)時(shí)的代碼,直接去找static的,參數(shù)為String數(shù)組的main方法。



作者微信公眾號(hào):凡人機(jī)器學(xué)習(xí)

長期分享機(jī)器學(xué)習(xí)實(shí)戰(zhàn)相關(guān)信息,感謝關(guān)注!





/********************************

* 本文來自博客 ?“李博Garvin“

* 轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/buptgshengod

******************************************/



《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的java的main函数为什么是public static void main(String[] args)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。