好程式設計師Java分享Javamain十個面試題
作為 Java 工程師參加面試時都會被問很多問題,那麼 在 Javamain 方面都會被問到哪些問題呢? 今天好程式設計師就 為大家準備一些常見的 Javamain 的基礎知識問題,幫助大家在面試前做好準備:
1 、不用 main 方法如何定義一個類?
不行,沒有 main 方法我們不能執行 Java 類。
在 Java7 之前,你可以透過使用靜態初始化執行 Java 類。但是,從 Java7 開始就行不通了。
2 、 main() 方法需要的引數不是字串陣列?
不是的, main() 方法的引數必須是字串陣列。
但是,在引進變參時,你可以將字串型別的變參作為引數傳遞給 main() 方法。變參一定得是陣列。
packagecom.instanceofjava;
publicclassMainMethod
{
publicstaticvoidmain(Stringargs[])
{
}
}
3 、我們能不能改變 main() 方法的返回型別?
不能, main() 方法的返回型別只能是空。任何其它型別都是不能接受的。
packagecom.instanceofjava;
publicclassA
{
publicstaticintmain(String[]args)
{
return1;//runtimeerror:Nomainmethodfound
}
}
4 、 main() 方法為什麼必須是靜態的?
main() 方法一定是靜態的。
如果 main() 允許是非靜態的,那麼在呼叫 main 方法時, JVM 就得例項化它的類。
在例項化時,還得呼叫類的建構函式。如果這個類的建構函式有引數,那麼屆時就會出現歧義。
例如,在下面的程式中,在例項化類 “ A ”的時候, JVM 傳遞什麼引數?
packagecom.instanceofjava;
publicclassA
{
publicMainMethod(inti)
{
//Constructortakingoneargument
}
publicvoidmain(String[]args)
{
//mainmethodasnon-static
}
5 、我們能不能宣告 main() 方法為非靜態?
不能, main() 方法必須宣告為靜態的,這樣 JVM 才可以呼叫 main() 方法而無需例項化它的類。
如果從 main() 方法去掉“ static ”這個宣告,雖然編譯依然可以成功,但在執行時會導致程式失敗。
packagecom.instanceofjava;
publicclassA
{
publicvoidmain(String[]args)
{
System.out.println("indhu");//Runtimeerror
}
}
6 、我們能否過載 main() 方法?
可以,我們可以過載 main() 方法。一個 Java 類可以有任意數量的 main() 方法。
為了執行 java 類,類的 main() 方法應該有例如“ publicstaticvoidmain(String[]args) ”的宣告。如果你對此宣告做任何修改,編譯也是可以成功的。但是,執行不了 Java 程式。你會得到執行時錯誤,因為找不到 main 方法。
packagecom.instanceofjava;
publicclassA
{
publicstaticvoidmain(String[]args)
{
System.out.println("Indhu");
}
voidmain(intargs)
{
System.out.println("Sindhu");
}
longmain(inti,longd)
{
System.out.println("Saidesh");
returnd;
}
}
7 、我們能否宣告 main() 方法為 private 或 protected ,或者不用訪問修飾符?
不能, main() 方法必須 public 。你不能定義 main() 方法為 private 和 protected ,也不能不用訪問修飾符。
這是為了能讓 JVM 訪問 main() 方法。如果你不定義 main() 方法為 public ,雖然編譯也會成功,但你會得到執行時錯誤,因為找不到 main 方法。
packagecom.instanceofjava;
publicclassA
{
privatestaticvoidmain(String[]args)
{
//Runtimeerror
}
}
8 、我們能否在 Java 中覆蓋 main 方法?
不能,你不能在 Java 中覆蓋 main 方法。這是因為 main 方法是靜態方法,而在 Java 中靜態方法在編譯時會結合在一起,所以你在 Java 中不能覆蓋靜態方法。
9 、我們能否在 Java 中終結 main 方法?
你可以在 Java 中終結 main 方法。 JVM 對此沒問題。
10 、我們能否在 Java 中同步 main 方法?
是的, main 方法可以在 Java 中同步, synchronized 修飾符允許用於 main 方法的宣告中,這樣就可以在 Java 中同步 main 方法了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2648844/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- 好程式設計師Java教程分享:Java工程師常見面試題程式設計師Java工程師面試題
- 好程式設計師Java教程分享Java面試妙招程式設計師Java面試
- 好程式設計師Java教程分享XML常見面試題程式設計師JavaXML面試題
- 好程式設計師Java教程分享jsp相關面試題程式設計師JavaJS面試題
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- VUE的面試題分享-好程式設計師Vue面試題程式設計師
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java培訓分享Java面試題集合篇二程式設計師Java面試題
- 好程式設計師Java培訓分享Java中級面試題合集程式設計師Java面試題
- 好程式設計師Java教程分享經典Java main方法面試題程式設計師JavaAI面試題
- 好程式設計師Java教程分享JavaScript常見面試題一程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題五程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題四程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題三程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題二程式設計師JavaScript面試題
- 好程式設計師分享Java面試題:物件導向的四個基本特徵程式設計師Java面試題物件特徵
- 好程式設計師Java教程分享Java面試常見技術難題程式設計師Java面試
- 好程式設計師Java培訓分享Java面試題之Java集合篇三程式設計師Java面試題
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試
- 好程式設計師Java培訓分享22道Spring Boot面試題!程式設計師JavaSpring Boot面試題
- 好程式設計師分享Java面試題:ListIterator和Iterator的異同程式設計師Java面試題
- 好程式設計師Java培訓分享20個Java程式設計師基礎題程式設計師Java
- 好程式設計師web前端教程分享JavaScript面試題程式設計師Web前端JavaScript面試題
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- 好程式設計師Java教程分享Java多執行緒常見面試題程式設計師Java執行緒面試題
- 好程式設計師Java教程分享面試中Spring的技術問題程式設計師Java面試Spring
- 好程式設計師Java學習路線分享Spring常見面試題程式設計師JavaSpring面試題
- 好程式設計師Java培訓分享實用的Redis面試題一程式設計師JavaRedis面試題
- 好程式設計師web前端培訓分享Vue面試題程式設計師Web前端Vue面試題
- 好程式設計師Java培訓分享面試Java的注意事項程式設計師Java面試
- 好程式設計師Java培訓分享面試Java要注意什麼程式設計師Java面試
- 好程式設計師分享Java常見面試題Tomcat最佳化經驗程式設計師Java面試題Tomcat
- 好程式設計師Python培訓分享Python程式設計師面試技巧程式設計師Python面試
- 好程式設計師Java學習路線分享Java面試題之載入機制程式設計師Java面試題
- 好程式設計師Java培訓分享Java多執行緒常見面試問題程式設計師Java執行緒面試