好程式設計師Java教程分享經典Java main方法面試題
好程式設計師 Java 教程 分享經典 Java main 方法面試題 , 以下是比較經典的關於 Java main 方法的面試題,與其說是 Java 面試題,其實也是 Java 的一些最基礎知識問題,分享給大家,如有錯誤,請指出。
1. 不用 main 方法如何定義一個類?
不行,沒有 main 方法我們不能執行 Java 類。
在 Java 7 之前,你可以透過使用靜態初始化執行 Java 類。但是,從 Java 7 開始就行不通了。
2.main() 方法需要的引數不是字串陣列?
不是的, main() 方法的引數必須是字串陣列。
但是,在引進變參時,你可以將字串型別的變參作為引數傳遞給 main() 方法。變參一定得是陣列。
package com.instanceofjava;public class MainMethod
{public static void main(String args[])
{
}
}
3. 我們能不能改變 main() 方法的返回型別?
不能, main() 方法的返回型別只能是空。任何其它型別都是不能接受的。
package com.instanceofjava;
public class A
{
public static int main(String[] args)
{
return 1; //run time error : No main method found
}
}
4.main() 方法為什麼必須是靜態的?
main() 方法一定是靜態的。
如果 main() 允許是非靜態的,那麼在呼叫 main 方法時, JVM 就得例項化它的類。
在例項化時,還得呼叫類的建構函式。如果這個類的建構函式有引數,那麼屆時就會出現歧義。
例如,在下面的程式中,在例項化類 “A” 的時候, JVM 傳遞什麼引數?
package com.instanceofjava;
public class A
{
public MainMethod(int i)
{
//Constructor taking one argument
}
public void main(String[] args)
{
//main method as non-static
}
5. 我們能不能宣告 main() 方法為非靜態?
不能, main() 方法必須宣告為靜態的,這樣 JVM 才可以呼叫 main() 方法而無需例項化它的類。
如果從 main() 方法去掉 “static” 這個宣告,雖然編譯依然可以成功,但在執行時會導致程式失敗。
package com.instanceofjava;
public class A
{
public void main(String[] args)
{
System.out.println("indhu"); //Run time error
}
}
6. 我們能否過載 main() 方法?
可以,我們可以過載 main() 方法。一個 Java 類可以有任意數量的 main() 方法。
為了執行 java 類,類的 main() 方法應該有例如 “public static void main(String[] args)” 的宣告。如果你對此宣告做任何修改,編譯也是可以成功的。但是,執行不了 Java 程式。你會得到執行時錯誤,因為找不到 main 方法。
package com.instanceofjava;public class A
{public static void main(String[] args)
{
System.out.println("Indhu");
}void main(int args)
{
System.out.println("Sindhu");
}long main(int i, long d)
{
System.out.println("Saidesh");return d;
}
}
7. 我們能否宣告 main() 方法為 private 或 protected ,或者不用訪問修飾符?
不能, main() 方法必須 public 。你不能定義 main() 方法為 private 和 protected ,也不能不用訪問修飾符。
這是為了能讓 JVM 訪問 main() 方法。如果你不定義 main() 方法為 public ,雖然編譯也會成功,但你會得到執行時錯誤,因為找不到 main 方法。
package com.instanceofjava;
public class A
{
private static void main(String[] args)
{
//Run time error
}
}
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-2648978/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Java教程分享Java面試妙招程式設計師Java面試
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- 好程式設計師Java教程分享:Java工程師常見面試題程式設計師Java工程師面試題
- 好程式設計師Java教程分享Java實習生面試題集錦程式設計師Java面試題
- 好程式設計師Java教程分享XML常見面試題程式設計師JavaXML面試題
- 好程式設計師Java教程之Java面試寶典Java IO篇程式設計師Java面試
- 好程式設計師Java教程分享Java面試常見技術難題程式設計師Java面試
- 10個經典的 Java main 方法面試題JavaAI面試題
- 好程式設計師Java教程分享jsp相關面試題程式設計師JavaJS面試題
- 好程式設計師Java教程分享JavaScript常見面試題五程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題四程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題三程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題二程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題一程式設計師JavaScript面試題
- 好程式設計師Java教程分享Java多執行緒常見面試題程式設計師Java執行緒面試題
- 好程式設計師Java教程分享Java中經常出現的問題程式設計師Java
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- 好程式設計師Java教程分享Java語法程式設計師Java
- 好程式設計師Java教程分享Java之設計模式程式設計師Java設計模式
- 好程式設計師java分享Java面試寶典:類的載入過程程式設計師Java面試
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java培訓分享Java面試題集合篇二程式設計師Java面試題
- 好程式設計師Java培訓分享Java中級面試題合集程式設計師Java面試題
- 好程式設計師Java教程分享Java開發工具程式設計師Java
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- 好程式設計師Java培訓分享Java面試題之Java集合篇三程式設計師Java面試題
- 好程式設計師Java教程分享List介面程式設計師Java
- 好程式設計師Java教程分享javaweb框架程式設計師JavaWeb框架
- 好程式設計師Java教程分享面試中Spring的技術問題程式設計師Java面試Spring
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- 好程式設計師Java教程分享Java開發主流框架程式設計師Java框架
- 好程式設計師Java教程分享Java 迴圈結構程式設計師Java
- 好程式設計師分享Java常見面試題Tomcat最佳化經驗程式設計師Java面試題Tomcat
- 好程式設計師web前端教程分享JavaScript面試題程式設計師Web前端JavaScript面試題
- Java初中級程式設計師面試題寶典Java程式設計師面試題
- 好程式設計師Java教程之ZooKeeper面試題梳理彙總程式設計師Java面試題
- 智力題(程式設計師面試經典)程式設計師面試