java中main函數(shù)你知道多少
前言
前段時間看到一道面試題:“main函數(shù)可以被重載么?”,當(dāng)時就蒙圈了,怎么還會有這種面試題,現(xiàn)在面試官都這么變態(tài)么?雖然變態(tài)不過還是挺感興趣的,于是就復(fù)習(xí)了一遍基礎(chǔ)題 [此處壞笑表情]
main介紹
我們開始學(xué)習(xí)java程序的時候,最先拍得一段代碼肯定是main函數(shù),main函數(shù)的格式如下:
public static void main(String[] args){}
首先針對 main 方法的格式定義:
「public」 :main 方法是啟動的時候由 JVM 進行加載的,public 的可訪問權(quán)限是最高的,所以需要聲明為 public;
「static」 :方法的調(diào)用要么是通過對象,要么是通過類,而 main 方法的話因為是由虛擬機調(diào)用的,所以無需生成對象,那么聲明為 static 即可;
「main」 :至于為什么方法名稱叫 main,我想應(yīng)該是參考的是 C 語言的方法名吧,畢竟java的鼻祖原先是寫C的;
「void」 :main 方法退出時,并沒有需要有相關(guān)返回值需要返回,所以是 void;
「String[]」 :此字符串?dāng)?shù)組用來運行時接受用戶輸入的參數(shù);
這時候大家發(fā)現(xiàn)了沒有,main方法和其他的靜態(tài)方法是一樣的。
main可以被重載嗎
直接上代碼
運行成功,所以除了 JVM 規(guī)定的作為應(yīng)用程序入口的 main 方法之外,其他的main方法都是比較普通的方法
main可以被繼承嗎
繼續(xù)上代碼,定義一個HelloMeta繼承父類HelloWorld
顯然子類還是運行了父類的main方法。那么我們再重寫下子類的方法
還是可以運行子類中的main方法
main可以被調(diào)用嗎
還是上代碼吧
可以看到main方法被callVerification方法調(diào)用了,不過中間因為沒有退出方法,導(dǎo)致死循環(huán),程序崩了
總結(jié)
除了main方法作為JVM應(yīng)用程序的入口比較特殊外,其他情況下與正常的靜態(tài)方法是沒什么區(qū)別的。
到此這篇關(guān)于java中main函數(shù)你知道多少的文章就介紹到這了,更多相關(guān)java main函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解elasticsearch之metric聚合實現(xiàn)示例
這篇文章主要為大家介紹了elasticsearch之metric聚合實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01IntelliJ IDEA使用tomcat和jetty配置詳解
這篇文章主要介紹了IntelliJ IDEA使用tomcat和jetty配置詳解,以便進一步地開發(fā)和調(diào)試,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10Java泛型枚舉Annotation接口詳細解讀與Eclipse發(fā)展
這篇文章主要給大家介紹了關(guān)于Java中方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08