當前位置:才華齋>IT認證>JAVA認證>

2017年經典的JAVA面試題及答案

JAVA認證 閱讀(2.49W)

20世紀90年代,硬體領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、行動電話等)的智慧化程度。yjbys小編下面為大家收集了一些經典的JAVA面試題及答案,希望大家喜歡!

2017年經典的JAVA面試題及答案

  封裝

封裝給物件提供了隱藏內部特性和行為的能力。物件提供一些能被其他物件訪問的方法來改變它內部的資料。在Java當中,有3種修飾符:public,private和protected。每一種修飾符給其他的位於同一個包或者不同包下面物件賦予了不同的訪問許可權。

  多型

多型是程式語言給不同的底層資料型別做相同的介面展示的一種能力。一個多型型別上的操作可以應用到其他型別的值上面。

  繼承

繼承給物件提供了從基類獲取欄位和方法的能力。繼承提供了程式碼的重用行,也可以在不修改類的情況下給現存的類新增新特性。

  抽象

抽象是把想法從具體的例項中分離出來的步驟,因此,要根據他們的.功能而不是實現細節來建立類。Java支援建立只暴漏介面而不包含方法實現的抽象的類。這種抽象技術的主要目的是把類的行為和實現細節分離開。

  抽象和封裝的不同點

抽象和封裝是互補的概念。一方面,抽象關注物件的行為。另一方面,封裝關注物件行為的細節。一般是通過隱藏物件內部狀態資訊做到封裝,因此,封裝可以看成是用來提供抽象的一種策略。

  常見的Java問題

1.什麼是Java虛擬機器?為什麼Java被稱作是“平臺無關的程式語言”?

Java虛擬機器是一個可以執行Java位元組碼的虛擬機器程序。Java原始檔被編譯成能被Java虛擬機器執行的位元組碼檔案。

Java被設計成允許應用程式可以執行在任意的平臺,而不需要程式設計師為每一個平臺單獨重寫或者是重新編譯。Java虛擬機器讓這個變為可能,因為它知道底層硬體平臺的指令長度和其他特性。

和JRE的區別是什麼?

Java執行時環境(JRE)是將要執行Java程式的Java虛擬機器。它同時也包含了執行applet需要的瀏覽器外掛。Java開發工具包(JDK)是完整的Java軟體開發包,包含了JRE,編譯器和其他的工具(比如:JavaDoc,Java偵錯程式),可以讓開發者開發、編譯、執行Java應用程式。

3.”static”關鍵字是什麼意思?Java中是否可以覆蓋(override)一個private或者是static的方法?

“static”關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的例項變數的情況下被訪問。

Java中static方法不能被覆蓋,因為方法覆蓋是基於執行時動態繫結的,而static方法是編譯時靜態繫結的。static方法跟類的任何例項都不相關,所以概念上不適用。

4.是否可以在static環境中訪問非static變數?

static變數在Java中是屬於類的,它在所有的例項中的值是一樣的。當類被Java虛擬機器載入的時候,會對static變數進行初始化。如果你的程式碼嘗試不用例項來訪問非static的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何例項關聯上。