Java面試 | 002

本博客 貓叔的博客,轉載請申明出處

前言

本系列爲貓叔綜合整理的Java面試題系列,如有雷同不勝榮幸。

Java與C/C++的差異?

  • 1、java爲解釋性語言、而C/C++爲編譯型語言。
  • 2、java爲面嚮對象語言,C++則兼具面向過程和麪向過程編程的特點。
  • 3、就垃圾回收而言,C++中有析構函數,而Java則是finalize()方法。
  • 4、Java提供了JDBC、分佈式對象的RMI等庫。

爲什麼需要public static void main(String[] args)這個方法

  • 1、public權限修飾符,任何類、對象均可訪問;
  • 2、static標記爲靜態方法,存儲在靜態存儲區;
  • 3、main是JVM識別的特殊方法名;
  • 4、args爲開發人員在命令行狀態下雨程序交互提供的手段。
  • 5、即便如此,main函數也不是最先執行的方法!!!

如何在main函數之前輸出“HELLO WORLD!”

由於靜態塊在類被加載時就會被調用,因此可以在main()方法執行前,利用靜態塊實現輸出“HELLO WORLD”的功能。

Java程序初始化的順序是怎麼樣的?

  • 1、靜態對象(變量)優先於非靜態對象(變量)的初始化,其中,靜態對象只初始化一次,而非靜態變量可以初始化多次;
  • 2、父類優先於子類進行初始化;
  • 3、按照成員變量的定義順序進行初始化

Java作用域

作用域與可見性 當前類 同一package 子類 其他package
public YES YES YES YES
private YES NO NO NO
protected YES YES YES NO
default YES YES NO NO

一個java文件可否定義多個類

可以定義多個類,但是最多只能有一個類被public修飾,並且這個類的類名與文件名相同。

公衆號:Java貓說

現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不定期乾貨。

Image Text

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章