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!

推薦閱讀: