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程序員面試試題
敬愛的黨組織:今年,公司黨支部對廣大員工定期舉行座談、並通過給員工宣講當前社會形勢和“xx”普法工作,員工的法律教育程度得到了提高,工作積極性也顯著提升,無違法亂紀的事情發生。並且,公司從員工的解度來看待問題,建立員 -
初級java程序員面試要求
程序員(英文Programmer)是從事程序開發、維護的專業人員。yjbys小編整理的關於初級java程序員面試要求,歡迎大家參考!第一部分:對於尚未做過Java工作的同學,包括一些在校生以及剛準備轉行Java的同學。 一、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.環境