java的main函数为什么是public static void main(String[] args)
這個問題困擾我好久了,今天就一查究竟,畢竟我好奇心比較重
1. why “public”
? ?因為java程序是通過jvm虛擬機調用的,所以main()函數要是想被調用,必須是public
2.why “static”
? ?在java中,沒有static的變量或函數,如果想被調用的話,是要先新建一個對象才可以。而main函數作為程序的入口,需要在其它函數實例化之前就啟動,這也就是為什么要加一個static。main函數好比一個門,要探索其它函數要先從門進入程序。static提供了這樣一個特性,無需建立對象,就可以啟動。
3.why “(String[] args)”?
? ?(1)先來說說,為什么這個字符串數組要叫“args”,其實這個是約定俗成的一種命名,不叫"args"叫其它的也是ok的,不信可以自行測試。
? ?(2)再來看看為什么要是一個String的數組,java在運行的時候是這樣的(如下),有點像命令行,a1,a2,a3就是這個String數組里的命令。
java main a1 a2 a3下面我們在深入到jvm驅動里面看看,main()函數是怎樣被啟動的:
mainID = (*env)->GetStaticMethodID(env, mainClass, "main", "([Ljava/lang/String;)V");這是jvm啟動時的代碼,直接去找static的,參數為String數組的main方法。
作者微信公眾號:凡人機器學習
長期分享機器學習實戰相關信息,感謝關注!
/********************************
* 本文來自博客 ?“李博Garvin“
* 轉載請標明出處:http://blog.csdn.net/buptgshengod
******************************************/
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的java的main函数为什么是public static void main(String[] args)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac下dashboard小控件开发实例
- 下一篇: 【码农本色】用数据解读我的2014