1. 程式人生 > >java面試題大全(整理版)

java面試題大全(整理版)

這幾天在網上搜集各種java面試題:

一是為了自己能複習方便,二是為了分享給大家~~
題目都是來自網上大佬的分享,感謝大佬們的貢獻~~

(持續更新中...)

1、面向物件的特徵有哪些方面?

- 抽象:抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象兩方面。抽象只關注物件有哪些屬性和行為,並不關注這些行為的細節是什麼。

- 繼承:繼承是從已有類得到繼承資訊建立新類的過程。提供繼承的類叫父類(超類、基類)、得到繼承的類叫子類(派生類)。

- 封裝:通常認為封裝是把資料和操作資料的方法繫結起來,對資料的訪問只能通過已定義的介面。可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的程式設計介面(可以想想普通洗衣機和全自動洗衣機的差別,明顯全自動洗衣機封裝更好因此操作起來更簡單;我們現在使用的智慧手機也是封裝得足夠好的,因為幾個按鍵就搞定了所有的事情)。


- 多型性:多型性是指允許不同子型別的物件對同一訊息作出不同的響應。簡單的說就是用同樣的物件引用呼叫同樣的方法但是做了不同的事情。實現多型需要做兩件事:1). 方法重寫(子類繼承父類並重寫父類中的方法);2). 物件造型(用父型別引用引用子型別物件,這樣同樣的引用呼叫同樣的方法就會根據子類物件的不同而表現出不同的行為)

2、訪問修飾符public,private,protected,以及不寫(預設)時的區別?

修飾符當前類同 包子 類其他包
public
protected×
default××
private×××
3、String 是最基本的資料型別嗎?

答:不是。Java中的基本資料型別只有8個:byte、short、int、long、float、double、char、boolean;除了基本型別(primitive type)和列舉型別(enumeration type),剩下的都是引用型別(reference type)。

4、float f=3.4;是否正確?

答:不正確。3.4是雙精度數,將雙精度型(double)賦值給浮點型(float)屬於下轉型(down-casting,也稱為窄化)會造成精度損失,因此需要強制型別轉換float f =(float)3.4; 或者寫成float f =3.4F;。

5、short s1 = 1; s1 = s1 + 1;有錯嗎?short s1 = 1; s1 += 1;有錯嗎?

答:對於short s1 = 1; s1 = s1 + 1;由於1是int型別,因此s1+1運算結果也是int 型,需要強制轉換型別才能賦值給short型。而short s1 = 1; s1 += 1;可以正確編譯,因為s1+= 1;相當於s1 = (short)(s1 + 1);其中有隱含的強制型別轉換。

6、int和Integer有什麼區別?

答:Java是一個近乎純潔的面向物件程式語言,但是為了程式設計的方便還是引入了基本資料型別,但是為了能夠將這些基本資料型別當成物件操作,Java為每一個基本資料型別都引入了對應的包裝型別(wrapper class),int的包裝類就是Integer,從Java 5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換。

class AutoUnboxingTest {public static void main(String[] args) {Integer a = new Integer(3);Integer b = 3;                  // 將3自動裝箱成Integer型別int c = 3;System.out.println(a == b);     // false 兩個引用沒有引用同一物件System.out.println(a == c);     // true a自動拆箱成int型別再和c比較}}

最近還遇到一個面試題,也是和自動裝箱和拆箱有點關係的,程式碼如下所示:

public class Test03 {public static void main(String[] args) {Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;System.out.println(f1 == f2);System.out.println(f3 == f4);}}

如果不明就裡很容易認為兩個輸出要麼都是true要麼都是false。首先需要注意的是f1、f2、f3、f4四個變數都是Integer物件引用,所以下面的==運算比較的不是值而是引用。裝箱的本質是什麼呢?當我們給一個Integer物件賦一個int值的時候,會呼叫Integer類的靜態方法valueOf

public static Integer valueOf(int i) {if (i >= IntegerCache.low && i <= IntegerCache.high)return IntegerCache.cache[i + (-IntegerCache.low)];return new Integer(i);}

簡單的說,如果整型字面量的值在-128到127之間,那麼不會new新的Integer物件,而是直接引用常量池中的Integer物件,所以上面的面試題中f1==f2的結果是true,而f3==f4的結果是false。

7、&和&&的區別?

相關推薦

java試題大全整理

這幾天在網上搜集各種java面試題:一是為了自己能複習方便,二是為了分享給大家~~題目都是來自網上大佬的分享,感謝大佬們的貢獻~~(持續更新中...)1、面向物件的特徵有哪些方面?- 抽象:抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象兩方面。抽象只關

黑馬程式設計師-java就業試題大全持續更新

13、是否可以從一個static 方法的內部發出對於非static方法的呼叫? 不可以,因為非static方法要和物件相關聯,必須建立物件後,才可以在該物件上進行方法的呼叫,而static方法呼叫時不需要建立物件。也就是說,當一個static方法被呼叫時可能還沒用建立任何例項物件,那麼要掉用非static方

Java試題集錦持續更新

1、面向物件的特徵有哪些方面? 答:面向物件的特徵主要有以下幾個方面: -抽象:抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象兩方面。抽象只關注物件有哪些屬性和行為,並不關注這些行為的細節是什麼。 -繼承:繼承是從己有類得到繼承資訊建立新類的過程。提供繼承資

Java試題51-70

分享一個大神的人工智慧教程!http://blog.csdn.net/jiangjunshow Java程式設計師面試題集(51-70) 摘要:這一部分主要講解了異常、多執行緒、容器和I/O的相關面試題。首先,異常機制提供了一種在不打亂原有業務邏輯的前提下,把程式在執

Java試題86-115

分享一個大神的人工智慧教程!http://blog.csdn.net/jiangjunshow Java程式設計師面試題集(86-115) 摘要:下面的內容包括Struts 2和Hibernate的常見面試題,雖然Struts 2在2013年6月曝出高危漏洞後已經顯得江河日

Java試題136-150

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow Java程式設計師面試題集(136-150) 摘要:這一部分主要是資料結構和演算法相關的面試題目,雖然只有15道題目,但是包含的資訊量還是很大的,很多題目背後的解題思路和

Java試題116-135

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow Java程式設計師面試題集(116-135) 摘要:這一部分講解基於Java的Web開發相關面試題,即便在Java走向沒落的當下,基於Java的Web開發因為擁有非常成熟

Java試題71-85

分享一下我的偶像大神的人工智慧教程!http://blog.csdn.net/jiangjunshow Java程式設計師面試題集(71-85) 摘要:這一部分主要包括了UML(統一建模語言)、面向物件的設計原則(六原則一法則)、GoF設計模式、企業級設計模式、JDB

2018年java試題總結附答案

1.什麼是B/S架構?C/S架構? B/S(Browser/Server),瀏覽器/伺服器程式; C/S(Client/Server),客戶端/服務端,桌面應用程式。 2.網路協議有哪些? HTTP:超文字傳輸協議; SMPT:簡單郵件協議; TELNET:遠端終端

Java試題——集合持續更新

  從上面的集合框架圖可以看到,Java 集合框架主要包括兩種型別的容器,一種是集合(Collection),儲存一個元素集合,另一種是圖(Map),儲存鍵/值對對映。Collection 介面又有 3 種子型別,List、Set 和 Queue,再下面是一些

【本人禿頂程式設計師】Java試題意思意思

←←←←←←←←←←←← 我都禿頂了,還不點關注! 一、什麼是Spring MVC ?簡單介紹下你對springMVC的理解? Spring MVC是一個基於MVC架構的 用來簡化web應用程式開發的應用開發框架, 它是Spring的一個模組, 無需中間整合層來整合 , 它和Stru

java 試題 答案2018年

1.jvm的理解: java虛擬機器記憶體分5個部分,程式計數器、java虛擬機器棧、本地方法棧、堆、方法區。 程式計數器記錄當前程式碼執行位置,進行程式碼流程控制,多執行緒時記錄當前執行緒執行的位置,從而記錄執行緒返回時上一次執行到哪了,程式計數器是一個很小的記憶體空間,每個執行緒都有一個

Java試題總結附答案

  1.什麼是B/S架構?C/S架構? B/S(Browser/Server),瀏覽器/伺服器程式; C/S(Client/Server),客戶端/服務端,桌面應用程式。     2.網路協議有哪些? HTTP:超文字傳輸協議;

大型網際網路公司必備的java試題附答案

1、作用域public,private,protected,以及不寫時的區別 答:區別如下: 作用域 當前類 同一package 子孫類 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √

Java試題1-50

說明:最近已經重新發布了最新的《Java面試題大全》,歡迎大家點選瀏覽。 下面的內容是對網上原有的Java面試題集及答案進行了全面修訂之後給出的負責任的題目和答案,原來的題目中有很多重複題目和無價值的題目,還有不少的參考答案也是錯誤的,修改後的Java面試題集參照了JDK最

正則表示式大全整理

測試字串的某個模式。例如,可以對一個輸入字串進行測試,看在該字串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為資料有效性驗證 替換文字。可以在文件中使用一個正則表示式來標識特定文字,然後可以全部將其刪除,或者替換為別的文字 根據模式匹配從字串中提取一個子字串。可以用來

騰訊後臺大全整合

本文首發於我的個人公眾號:程式設計師江湖 努力成為最有影響力的程式設計師自媒體,專注於面試,職場,個人提升三大主題。 乾貨滿滿,不容錯過。 **本文裡的面經內容全部來源於牛客網,作為秋招備戰複習與查缺補漏時使用。裡面部分面經有我的註釋和想法,以及部分解答,不一定

Java試題彙總100題

26 Math.round(11.5)和Math.round(-11.5)等於多少 round方法返回與引數最接近的長整數 Case1:小數點後第一位 = 5 正數:Math.round(11.5) = 12 負數

近5年常考Java試題及答案整理

下列面試題都是在網上收集的,本人抱著學習的態度找了下參考答案,有不足的地方還請指正,更多精彩內容可以關注我的微信公眾號:Java團長 1、面向物件的特徵有哪些方面? 抽象:將同類物件的共同特徵提取出來構造類。 繼承:基於基類建立新類。 封裝:將資料隱藏起來,對

近5年常考Java試題及答案整理

近5年常考Java面試題及答案整理(一) 近5年常考Java面試題及答案整理(二) 下列面試題都是在網上收集的,本人抱著學習的態度找了下參考答案,有不足的地方還請指正,更多精彩內容可以關注我的微信公眾號:Java團長 68、Java中如何實現序列化,有什麼意義? 答:序