1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. JAVA面試題

        時間:2023-03-29 00:48:18 JAVA認(rèn)證 我要投稿

        2016年JAVA面試題

          Java面試題難嗎?下面yjbys小編就為大家分享最新的java面試題及答案,希望對大家有所幫助!

        2016年JAVA面試題

          1. 面向?qū)ο缶幊痰娜筇匦允鞘裁,請簡要闡述

          (1).繼承:

          繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。新類繼 承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實例變量,并且類可以修改或增 加新的方法使之更適合特殊的需要。

          (2).封裝:

          封裝是把過程和數(shù)據(jù)包圍起來,對數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥嬎闶加谶@個基本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護(hù)的接口訪問其他對象。

          (3).多態(tài)性:

          多態(tài)性是指允許不同類的對象對同一消息作出響應(yīng)。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應(yīng)用程序函數(shù)同名問題。

          2. String 和StringBuffer的區(qū)別

          JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)這個String類提供了數(shù)值不可改變字符串而這個StringBuffer類提供的字符串進(jìn)行修改當(dāng)你知道字符數(shù)據(jù)要改變的時候你就可以使用StringBuffer典型地,你可以使用StringBuffers來動態(tài)構(gòu)造字符數(shù)據(jù)

          3. 說出ArrayList,Vector, LinkedList的存儲性能和特性

          ArrayList和Vector都是使用數(shù)組方式存儲數(shù)據(jù),此數(shù)組元素數(shù)大于實際存儲數(shù)據(jù)以便增加和插入元素,它們都允許直接按序號索引元素,但是插入元素要涉及數(shù)組元素移動等內(nèi)存操作,所以索引數(shù)據(jù)快而插入數(shù)據(jù)慢,Vector由于使用了synchronized思路方法(線程安全) ,通常性能上較ArrayList差,而LinkedList使用雙向鏈表實現(xiàn)存儲,按序號索引數(shù)據(jù)需要進(jìn)行前向或后向遍歷,但是插入數(shù)據(jù)時只需要記錄本項前后項即可,所以插入速度較快

          4. Collection 和 Collections的區(qū)別

          Collection是集合類的上級接口,繼承與他的接口主要有Set 和List. Collections是針對集合類的一個幫助類,他提供一系列靜態(tài)方法實現(xiàn)對各種集合的搜索、排序、線程安全化等操作。

          5. HashMap和Hashtable的區(qū)別

          HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于HashtableJAVA中文站社區(qū)門戶oC)| g| ax ,HashMap允許將Null作為一個entryde key 或者value,而Hashtable不允許 HashMap把Hashtable的contains思路方法去掉了,改成containsvalue和containsKey因為contains思路方法容易讓人引起誤解Hashtable繼承自Dictionary類,而HashMap是Java1.2引進(jìn)的Map interface的一個實現(xiàn)。

          最大的區(qū)別是,Hashtable的思路方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的思路方法實現(xiàn)同步,而HashMap 就必須為的提供外同步。

          Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

          6. final, finally, finalize的區(qū)別

          final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

          finally是異常處理語句結(jié)構(gòu)的一部分,表示總是執(zhí)行。

          finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調(diào)用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關(guān)閉文件等。

          7. Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

          重載(Overload):

          (1)方法重載是讓類以統(tǒng)一的方式處理不同類型數(shù)據(jù)的一種手段。多個同名函數(shù)同時存在,具有不同的參數(shù)個數(shù)/類型。重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。

          (2)Java的方法重載,就是在類中可以創(chuàng)建多個方法,它們具有相同的名字,但具有不同的參數(shù)和不同的定義。調(diào)用方法時通過傳遞給它們的不同參數(shù)個數(shù)和參數(shù)類型來決定具體使用哪個方法, 這就是多態(tài)性。

          (3)重載的時候,方法名要一樣,但是參數(shù)類型和個數(shù)不一樣,返回值類型可以相同也可以不相同。無法以返回型別作為重載函數(shù)的區(qū)分標(biāo)準(zhǔn)。

          重寫(Override):

          (1) 父類與子類之間的多態(tài)性,對父類的函數(shù)進(jìn)行重新定義。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。在Java中,子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類并不想原封不動地繼承父類的方法,而是想作一定的修改,這就需要采用方法的重寫。方法重寫又稱方法覆蓋。

          (2) 若子類中的方法與父類中的某一方法具有相同的方法名、返回類型和參數(shù)表,則新方法將覆蓋原有的方法。如需父類中原有的方法,可使用super關(guān)鍵字,該關(guān)鍵字引用了當(dāng)前類的父類。

          (3)子類函數(shù)的訪問修飾權(quán)限不能少于父類的

          重寫方法的規(guī)則:

          1.參數(shù)列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是重載.

          2.返回的類型必須一直與被重寫的方法的返回類型相同,否則不能稱其為重寫而是重載.

          3.訪問修飾符的限制一定要大于被重寫方法的訪問修飾符(public>protected>default>private)

          4.重寫方法一定不能拋出新的檢查異;蛘弑缺恢貙懛椒ㄉ昝鞲訉挿旱臋z查型異常.例如,

          父類的一個方法申明了一個檢查異常IOException,在重寫這個方法是就不能拋出Exception,只能拋出IOException的子類異常,可以拋出非檢查異常.

          而重載的規(guī)則:

          1.必須具有不同的參數(shù)列表;

          2.可以有不同的返回類型,只要參數(shù)列表不同就可以了;

          3.可以有不同的訪問修飾符;

          4.可以拋出不同的異常;

          重寫和重載的區(qū)別在于:

          重寫多態(tài)性起作用,對調(diào)用被重載過的方法可以大大減少代碼的輸入量,同一個方法名只要往里面?zhèn)鬟f不同的參數(shù)就可以擁有不同的功能或返回值.

          用好重寫和重載可以設(shè)計一個結(jié)構(gòu)清晰而簡潔的類,可以說重寫和重載在編寫代碼過程中的作用非同一般.

          Overloaded的方法是可以改變返回值的類型。

          8. error和exception有什么區(qū)別?

          error 表示恢復(fù)不是不可能但很困難的情況下的一種嚴(yán)重問題。比如說內(nèi)存溢出。不可能指望程序能處理這樣的情況。

          exception 表示一種設(shè)計或?qū)崿F(xiàn)問題。也就是說,它表示如果程序運行正常,從不會發(fā)生的情況。

          9. abstract class和interface有什么區(qū)別?

          1.abstract class 在 Java 語言中表示的是一種繼承關(guān)系,一個類只能使用一次繼承關(guān)系。但是,一個類卻可以實現(xiàn)多個interface。

          2.在abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是static final的,不過在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。

          3.abstract class和interface所反映出的設(shè)計理念不同。其實abstract class表示的是"is-a"關(guān)系,interface表示的是"like-a"關(guān)系。

          4.實現(xiàn)抽象類和接口的類必須實現(xiàn)其中的所有方法。抽象類中可以有非抽象方法。接口中則不能有實現(xiàn)方法。

          5.接口中定義的變量默認(rèn)是public static final 型,且必須給其初值,所以實現(xiàn)類中不能重新定義,也不能改變其值。

          6.抽象類中的變量默認(rèn)是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。

          7.接口中的方法默認(rèn)都是 public,abstract 類型的。

          10. List, Set, Map是否繼承自Collection接口

          List,Set是繼承自Collection,Map不是。

          11. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

          swtich中只能用byte short int char

          12. char型變量中能不能存貯一個中文漢字?為什么?

          能夠定義成為一個中文的,因為java中以unicode編碼,一個char占16個字節(jié),所以放一個中文是沒問題的。

          13. 多線程有幾種實現(xiàn)方法,都是什么?哪一種方式比較優(yōu)秀?同步有幾種實現(xiàn)方法,都是什么?

          多線程有兩種實現(xiàn)方法,分別是繼承Thread類與實現(xiàn)Runnable接口

          實現(xiàn)Runnable接口比較好,因為實現(xiàn)類可以實現(xiàn)多個接口,而只能繼承一個類。

          同步的實現(xiàn)方面有兩種,分別是synchronized,wait與notify

          14. java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請說出他們分別是哪些類

          字節(jié)流,字符流。字節(jié)流繼承與inputStream/outputStream,字符流繼承于inputStreamReader/outputSteamWriter。

        【JAVA面試題】相關(guān)文章:

        高級Java面試題匯總08-21

        高級Java面試題及答案201608-11

        2017年java面試題及答案08-28

        Java經(jīng)典面試題之選擇題08-12

        2017年最新java面試題及答案08-28

        學(xué)習(xí)java技巧10-31

        Adobe面試題及答案06-20

        java調(diào)用cmd命令01-29

        Java的基礎(chǔ)知識07-27

        推薦關(guān)于MBA面試題08-10

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>