java中main函數你知道多少
前言
前段時間看到一道面試題:“main函數可以被重載麼?”,當時就蒙圈瞭,怎麼還會有這種面試題,現在面試官都這麼變態麼?雖然變態不過還是挺感興趣的,於是就復習瞭一遍基礎題 [此處壞笑表情]
main介紹
我們開始學習java程序的時候,最先拍得一段代碼肯定是main函數,main函數的格式如下:
public static void main(String[] args){}
首先針對 main 方法的格式定義:
「public」 :main 方法是啟動的時候由 JVM 進行加載的,public 的可訪問權限是最高的,所以需要聲明為 public;
「static」 :方法的調用要麼是通過對象,要麼是通過類,而 main 方法的話因為是由虛擬機調用的,所以無需生成對象,那麼聲明為 static 即可;
「main」 :至於為什麼方法名稱叫 main,我想應該是參考的是 C 語言的方法名吧,畢竟java的鼻祖原先是寫C的;
「void」 :main 方法退出時,並沒有需要有相關返回值需要返回,所以是 void;
「String[]」 :此字符串數組用來運行時接受用戶輸入的參數;
這時候大傢發現瞭沒有,main方法和其他的靜態方法是一樣的。
main可以被重載嗎
直接上代碼
運行成功,所以除瞭 JVM 規定的作為應用程序入口的 main 方法之外,其他的main方法都是比較普通的方法
main可以被繼承嗎
繼續上代碼,定義一個HelloMeta繼承父類HelloWorld
顯然子類還是運行瞭父類的main方法。那麼我們再重寫下子類的方法
還是可以運行子類中的main方法
main可以被調用嗎
還是上代碼吧
可以看到main方法被callVerification方法調用瞭,不過中間因為沒有退出方法,導致死循環,程序崩瞭
總結
除瞭main方法作為JVM應用程序的入口比較特殊外,其他情況下與正常的靜態方法是沒什麼區別的。
到此這篇關於java中main函數你知道多少的文章就介紹到這瞭,更多相關java main函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 如何用Dos命令運行Java版HelloWorld你知道嗎
- 一文帶你初識java中的String類
- 一文帶你認識java中的String類
- Mac下用Java調用c/c++的思路詳解
- java數據類型與變量的安全性介紹