java初級程式設計師面試題「經典」
JAVA程式設計師每次考試都包括65道以上的多項選擇題,時間大約為90分鐘。考試合格後由Sun公司頒發的國際通用的Java程式設計師證書。以下是關於java初級程式設計師面試題,歡迎大家參考!
1、面向物件的特徵有哪些方面?
答:面向物件的特徵主要有以下幾個方面:
1)抽象:抽象是將一類物件的共同特徵總結出來構造類的過程,包括資料抽象和行為抽象兩方面。抽象只關注物件有哪些屬性和行為,並不關注這些行為的細節是什麼。
2)繼承:繼承是從已有類得到繼承資訊建立新類的過程。提供繼承資訊的類被稱為父類(超類、基類);得到繼承資訊的類被稱為子類(派生類)。繼承讓變化中的軟體系統有了一定的延續性,同時繼承也是封裝程式中可變因素的重要手段(如果不能理解請閱讀閻巨集博士的《Java與模式》或《設計模式精解》中關於橋樑模式的部分)。
3)封裝:通常認為封裝是把資料和操作資料的方法繫結起來,對資料的訪問只能通過已定義的介面。面向物件的本質就是將現實世界描繪成一系列完全自治、封閉的物件。我們在類中編寫的方法就是對實現細節的一種封裝;我們編寫一個類就是對資料和資料操作的封裝。可以說,封裝就是隱藏一切可隱藏的東西,只向外界提供最簡單的程式設計介面(可以想想普通洗衣機和全自動洗衣機的差別,明顯全自動洗衣機封裝更好因此操作起來更簡單;我們現在使用的智慧手機也是封裝得足夠好的,因為幾個按鍵就搞定了所有的事情)。
4)多型性:多型性是指允許不同子型別的物件對同一訊息作出不同的響應。簡單的說就是用同樣的物件引用呼叫同樣的方法但是做了不同的事情。多型性分為編譯時的多型性和執行時的多型性。如果將物件的方法視為物件向外界提供的服務,那麼執行時的多型性可以解釋為:當A系統訪問B系統提供的服務時,B系統有多種提供服務的方式,但一切對A系統來說都是透明的(就像電動剃鬚刀是A系統,它的供電系統是B系統,B系統可以使用電池供電或者用交流電,甚至還有可能是太陽能,A系統只會通過B類物件呼叫供電的方法,但並不知道供電系統的底層實現是什麼,究竟通過何種方式獲得了動力)。方法過載(overload)實現的是編譯時的多型性(也稱為前繫結),而方法重寫(override)實現的是執行時的多型性(也稱為後繫結)。執行時的多型是面向物件最精髓的東西,要實現多型需要做兩件事:1. 方法重寫(子類繼承父類並重寫父類中已有的或抽象的方法);2. 物件造型(用父型別引用引用子型別物件,這樣同樣的引用呼叫同樣的方法就會根據子類物件的不同而表現出不同的行為)。
2、訪問修飾符public,private,protected,以及不寫(預設)時的區別?
答:區別如下:
作用域 當前類 同包 子類 其他
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
類的成員不寫訪問修飾時預設為default。預設對於同一個包中的`其他類相當於公開(public),對於不是同一個包中的其他類相當於私有(private)。受保護(protected)對子類相當於公開,對不是同一包中的沒有父子關係的類相當於私有。
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、Java 有沒有goto?
答:goto 是Java中的保留字,在目前版本的Java中沒有使用。(根據James Gosling(Java之父)編寫的《The Java Programming Language》一書的附錄中給出了一個Java關鍵字列表,其中有goto和const,但是這兩個是目前無法使用的關鍵字,因此有些地方將其稱之為保留字,其實保留字這個詞應該有更廣泛的意義,因為熟悉C語言的程式設計師都知道,在系統類庫中使用過的有特殊意義的單詞或單詞的組合都被視為保留字)
7、int 和Integer 有什麼區別?
答:Java是一個近乎純潔的面向物件程式語言,但是為了程式設計的方便還是引入不是物件的基本資料型別,但是為了能夠將這些基本資料型別當成物件操作,Java為每一個基本資料型別都引入了對應的包裝型別(wrapper class),int的包裝類就是Integer,從JDK 1.5開始引入了自動裝箱/拆箱機制,使得二者可以相互轉換。
相關文章
-
初級java程式設計師面試經驗分享
一般將程式設計師分為程式設計人員和程式編碼人員,但兩者的界限並不非常清楚,特別是在中國。以下是關於初級java程式設計師面試經驗,希望可以幫助大家! 一、Java基礎部分1、使用length屬性獲取陣列長度,public、private、prote -
初級java程式設計師面試試題
程式設計師(英文Programmer)是從事程式開發、維護的專業人員。一般將程式設計師分為程式設計人員和程式編碼員,但兩者的界限並不非常清楚,特別是在中國。下面是小編整理的關於初級java程式設計師面試試題,希望大家認真閱讀! 1. 學 -
初級java程式設計師面試要求
在慶祝偉大祖國七十二歲生日的特殊節日裡,我觀看了讓我無比震撼的電影《長津湖》。電影講述的長津湖戰役是抗美援朝戰爭第二次戰役中發生在長津湖地區的一場戰役。在極度嚴寒的環境中,志願軍戰士服從命令,英勇戰鬥,視死如 -
經典Java面試題之Java中Char型別的運算
char在java中稱為字元型,佔2個位元組。本文是本站小編搜尋整理的關於經典Java面試題之Java中Char型別的運算,有需要的小夥伴可以參考一下,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網! [面試 -
關於初級java程式設計師筆試題
Sun 認證Java程式設計師考試內容涉及Java所有相關知識、程式設計概念及applet開發技巧。下面是小編整理的關於初級java程式設計師筆試題,歡迎大家參考! 第一題:判斷題語言是一種面向物件程式設計語言。( 對 )2.在Java有布林型別, -
java程式設計師面試題
Sun認證Java程式設計師考試旨在考察您通過應用軟體分配進行復雜程式設計的能力。之後還要測試您完成程式設計所需的知識。以下是小編整理的java程式設計師面試題,希望大家認真閱讀!第一,談談final, finally, finalize的區別。第二,Anonymou -
JAVA程式設計師面試題
以下是本站小編整理的JAVA程式設計師面試題,歡迎學習!希望在您的求職中可以帶來一些幫助!更多內容請關注應屆畢業生考試網! Hibeate持久層技術1、在myeclipse加入hibeate環境的全過程是什麼?2、hibeate的核心配置檔案是 -
Java程式設計師面試題集
正所謂不積跬步,無以至千里;不積小流,無以成江海。想要學好一門計算機語言,基本功很重要,下面是本站小編為大家搜尋整理的關於Java程式設計師面試題集,歡迎參考閱讀,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢 -
Java程式設計師面試題集錦
Java面試隨著時間的改變而改變。在過去的日子裡,當你知道String和StringBuilder的區別就能讓你直接進入第二輪面試,但是現在問題變得越來越高階,面試官問的問題也更深入。下面是小編整理的關於Java程式設計師面試題集錦,希望 -
華為Java程式設計師面試題
引導語:JAVA程式設計師廣義上是指一群以JAVA為謀生手段的軟體開發人員。以下是小編整理的華為Java程式設計師面試題,歡迎參考閱讀! 1.Java程式的種類有(BCD )A.類(Class)B.AppletC.ApplicationD.Servlet 2.下列說法正確的有(BCD)A.環境