Java筆試面試題每日打卡(1) - 基礎篇

題目

–來自《Java程序員面試寶典》

  1. Java語言的優點
  2. Java與C++的異同
  3. 爲什麼使用 public static void main(String[] args) 這個方法
  4. 如何實現main方法前輸出“helloworld”
  5. Java 程序初始化順序
  6. Java作用域有哪些
  7. 一個Java文件中是否可以定義多個類
  8. 什麼是構造函數
  9. 爲什麼Java中有些接口沒有任何方法
  10. Java 中的Clone()方法有什麼作用

題目和答案

  1. Java語言的優點
    答:Java語言的優點有:(1)跨平臺性,運行在jvm上。任何可以安裝jvm虛擬機的都可以運行Java程序(2)純面向對象 。直接反應生活中的對象,使開發更加容易簡單。(3)內置類庫多,Java提供很多的內置類庫,方便開發人員使用。 (4)安全性和健壯性,Java提供了安全檢測和數組校驗,可以有效的防止惡意攻擊 (5)社區強大,有很多成熟的開源框架。
  2. Java與C++的異同
    答:(1)Java是解釋性語言,java編譯成字節碼由Jvm執行,C++是編譯型語言,直接編譯成二級制代碼(2)Java慢,C++快 (3)Java跨平臺,C++不跨平臺 (4)Java不支持多繼承,但是可以使用多接口實現,C++支持多繼承 (5)Java 由 jvm 管理內存分配,C++需要自己管理內存分配
  3. 爲什麼使用 public static void main(String[] args) 這個方法
    答:這個函數是程序的入口函數,程序編譯執行的時候首先執行。且此方法是靜態方法調用的時候無需實例化。並且必須使用public static修飾,返回值爲void。main是jvm識別的特殊方法名。main方法可以使用 final或者synchorized 修飾
  4. 如何實現main方法前輸出“helloworld”
    答:根據靜態塊的 static{} 靜態塊的優先級比靜態方法高
  5. Java 程序初始化順序
    答:靜態對象 -> 父類 ->父類成員變量->父類方法 -> 子類成員變量->子類方法
  6. Java作用域有哪些
修飾符 當前類 同一Package 子類 其他package
public
private × × ×
protected ×
default × ×
  1. 一個Java文件中是否可以定義多個類
    答:是的。一個java文件可以定義多個類,但是有且只有一個用public修飾的與文件同名的類。如果沒有public修飾的類,那就直解定義一個文件名與相同的類就行,
  2. 什麼是構造函數
    答:構造函數是在實例化的時候直接賦予類的某一項或多項指定的屬性,比如定義了一個書包類併爲其指定其構造方法設置它的顏色,那麼在實例化的時候就必須對實例化對象進行顏色的指定。如果不指定構造函數,那麼系統會默認一個無參構造函數,這個構造函數的權限與類的修飾保持一致。如果父類是一個有參數的構造函數,那麼子類必須使用super來調用父類的構造函數,否則子類無法進行實例化。構造函數在實例化的時候只會調用一次。
  3. 爲什麼Java中有些接口沒有任何方法
    答:由於Java不允許多繼承,所以提供了接口屬性,一個類可以實現多個接口,並且接口的內外部屬性只能是public。一個沒有方法的接口就是說這個接口不要求你必須要實現某些方法,只是用來標識這是個某某某接口,實現這個接口的類是某某某類型的接口。
  4. Java 中的Clone()方法有什麼作用
    答:clone() 方法可以用來克隆一個對象。例如,我們要使用對象A的副本並對它進行部分的修改 ,這個時候我們可以採用new 一個對象B,然後重新將A對象的值複製到B對象。這裏的複製一定是要重新開闢內存空間的複製而非引用複製,clone應該就是進行這樣的一個思想。clone複製使用深複製和淺複製2中方法,如果是基本類型使用的是淺複製,基本類型的複製是值的複製,而非基本類型的複製是引用的複製。所以基本類型複製可以使用 = 等複製方法,而非基本類型都是對象需要重新開闢內存空間進行復制。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章