本博客
貓叔的博客,轉載請申明出處
前言
本系列爲貓叔綜合整理的Java面試題系列,若有雷同不勝榮幸。java
Java與C/C++的差別?
- 一、java爲解釋性語言、而C/C++爲編譯型語言。
- 二、java爲面嚮對象語言,C++則兼具面向過程和麪向過程編程的特色。
- 三、就垃圾回收而言,C++中有析構函數,而Java則是finalize()方法。
- 四、Java提供了JDBC、分佈式對象的RMI等庫。
爲何須要public static void main(String[] args)這個方法
- 一、public權限修飾符,任何類、對象都可訪問;
- 二、static標記爲靜態方法,存儲在靜態存儲區;
- 三、main是JVM識別的特殊方法名;
- 四、args爲開發人員在命令行狀態下雨程序交互提供的手段。
- 五、即使如此,main函數也不是最早執行的方法!!!
如何在main函數以前輸出「HELLO WORLD!」
因爲靜態塊在類被加載時就會被調用,所以能夠在main()方法執行前,利用靜態塊實現輸出「HELLO WORLD」的功能。git
Java程序初始化的順序是怎麼樣的?
- 一、靜態對象(變量)優先於非靜態對象(變量)的初始化,其中,靜態對象只初始化一次,而非靜態變量能夠初始化屢次;
- 二、父類優先於子類進行初始化;
- 三、按照成員變量的定義順序進行初始化
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修飾,而且這個類的類名與文件名相同。github
公衆號:Java貓說
現架構設計(碼農)兼創業技術顧問,不羈平庸,熱愛開源,雜談程序人生與不按期乾貨。
![Image Text Image Text](http://static.javashuo.com/static/loading.gif)