• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 創業指南 > 職場 > 面試題 > java基礎面試題與答案

    java基礎面試題與答案

    時間: 護托1061 分享

    java基礎面試題與答案

      當Java程序違反了Java的語義規則時,Java虛擬機就會將發生的錯誤表示為一個異常。下面就由學習啦小編為大家介紹一下java基礎面試題與答案的文章,歡迎閱讀。

      java基礎面試題與答案篇1

      1、抽象類(abstract class)和接口(interface)有什么區別?

      答:聲明方法的存在而不去實現它的類被叫做抽象類(abstract class),它用于要創建一個體現某些基本行為的類,并為該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構造函數或抽象靜態方法。Abstract類的子類為它們父類中的所有抽象方法提供實現,否則它們也是抽象類為。取而代之,在子類中實現該方法。知道其行為的其它類可以在類中實現這些方法。

      接口(interface)是抽象類的變體。在接口中,所有方法都是抽象的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽象的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行為。當類實現特殊接口時,它定義所有這種接口的方法。然后可以在實現了該接口的類的任何對象上調用接口的方法。由于有抽象類,它允許使用接口名作為引用變量的類型。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口。

      2、Java中的異常處理機制的簡單原理和應用。

      答:當Java程序違反了Java的語義規則時,Java虛擬機就會將發生的錯誤表示為一個異常。違反語義規則包括2種情況:一種是Java類庫內置的語義檢查。例如數組下標越界時會引發IndexOutOfBoundsException,訪問null的對象時會引發NullPointerException。另一種情況是Java允許程序員擴展這種語義檢查,程序員可以創建自己的異常,并自由選擇在何時用throw關鍵字引發異常。所有的異常都是Java.lang.Thowable的子類。

      3、sleep()和wait()有什么區別?

      答:sleep()是線程類Thread的方法,導致此線程暫停執行指定時間,給執行機會給其他線程,但是監控狀態依然保持,到時后會自動恢復,調用sleep不會釋放對象鎖。

      wait()是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態。

      4、String是最基本的數據類型嗎?

      答:String不是基本數據類型,基本數據類型包括byte、int、char、long、float、double、boolean和short。 Java.lang.String類是final類型的,因此不可以繼承這個類、不能修改這個類。

      5、String和StringBuffer的區別。

      答:Java平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數據。這個String類提供了數值不可改變的字符串。而這個StringBuffer類提供的字符串進行修改。當知道字符數據要改變的時候就可以使用StringBuffer。典型地,可以使用StringBuffers來動態構造字符數據。

      6、接口是否可繼承接口? 抽象類是否可實現接口? 抽象類是否可繼承實體類?

      答:接口可以繼承接口。抽象類可以實現接口。抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數。

      7、Java有沒有goto?

      答:goto是Java中的保留關鍵字,但是現在沒有在Java中使用。

      8、啟動一個線程是用run()還是start()?

      答:啟動一個線程是調用start()方法,使線程所代表的虛擬處理機處于可運行狀態,這意味著它可以由JVM調度并執行。這并不意味著線程就會立即運行。run()方法可以產生必須退出的標志來停止一個線程。

      9、說明一下類變量和實例變量的區別。

      答:類變量是所有對象共有的,所有的實例對象都共用一個類變量,內存中只有一處空間存放類變量的值。如果其中一個對象改變了類變量的值,其他對象得到的就是改變后的結果。當類被加載到內存時,類變量就會分配相應的內存空間。

      10、運行時異常與一般異常有何異同?

      答:異常表示程序運行過程中可能出現的非正常狀態,運行時異常表示虛擬機的通常操作中可能遇到的異常,是一種常見運行錯誤。Java編譯器要求方法必須聲明拋出可能發生的非運行時異常,但是并不要求必須聲明拋出未被捕獲的運行時異常。

      java基礎面試題與答案篇2

      1、說明實例方法和類方法的區別?

      答:方法前面有static關鍵字修飾的為類方法,否則為實例方法。 實例方法可以調用該類中的其他方法;類方法只能調用其他類方法,不能調用實例方法;當類文件加載到內存時,實例方法不會被分配內存空間,只有在對象創建之后才會分配。而類方法在該類被加載到內存時就分配了相應的內存空間。

      2、什么是哈希表?

      答:哈希表又稱散列表,是一種能將關鍵字映射成存儲地址的記錄存儲技術。要存儲數據,先設計一種算法(哈希函數),然后根據數據記錄的關鍵字計算出各記錄的哈希碼,這個哈希碼作為與關鍵字相關的記錄數據的索引。要取出記錄,只需要根據哈希函數重新計算,得到哈希碼后,便可直接到相應位置去存取。

      3、是否可以從一個static方法內部發出對非static方法的調用?

      答:不可以。如果其中包含對象的method(),不能保證對象初始化。

      4、在Java轉義字符中,“\uxxxx”代表什么?

      答:\uxxxx是Java中的字符編碼方式,其中前綴 \u就表示該字符是unicode字符,xxxx表示1到4位16進制數,用這種轉義字符形式可以表示unicode字符集中的任意字符。

      5、switch語句中的表達式可以是什么類型數據?

      答:表達式的值可以是byte、short、int和char類型的數據,但不能是float和double類型的數據。

      6、插入數據時,ArrayList、LinkedList、Vector誰速度較快?

      答:ArrayList、Vector以數組方式存儲數據,插入數據時要進行元素移動操作,因而插入數據慢。LinkedList是一種鏈表結構,在插入數據時只需要修改鏈表的前后項指向即可,因此插入速度較快。

      7、final, finally, finalize的區別。

      答:final—修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生出新的子類,不能作為父類被繼承。因此一個類不能既被聲明為 abstract的,又被聲明為final的。將變量或方法聲明為final,可以保證它們在使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而在以后的引用中只能讀取,不可修改。被聲明為final的方法也同樣只能使用,不能重載。

      finally是異常處理時提供 finally 塊來執行任何清除操作。如果拋出一個異常,那么相匹配的 catch 子句就會執行,然后控制就會進入 finally 塊(如果有的話)。

      finalize是方法名。Java 技術允許使用 finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作。這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的。它是在 Object 類中定義的,因此所有的類都繼承了它。子類覆蓋 finalize() 方法以整理系統資源或者執行其他清理工作。finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的。

      8、說出一些常用的類,包,接口,請各舉5個。

      答:常用的類:BufferedReader,BufferedWriter,FileReader,FileWirter和String等。

      常用的包:Java.lang ,Java.awt,Java.io,Java.util和Java.sql等。

      常用的接口:Remote,List,Map,Document和NodeList等。

      9、多線程的實現方法分別是什么?同步的實現方法分別是什么?

      答:多線程有兩種實現方法,分別是繼承Thread類與實現Runnable。

      接口同步的實現方面有兩種,分別是synchronized、wait與notify。

      10、當用System.in.read(buffer)從鍵盤輸入一行n個字符后,存儲在緩沖區buffer中的字節數是多少?

      答:當用System.in.read(buffer)從鍵盤輸入一行n個字符后,存儲在緩沖區buffer中的字節數有n+2個,即除輸入的n個字符后,還存儲了回車和換行字符。

      java基礎面試題與答案篇3

      1、如何實現字符串的分割?

      答:第一種方法是采用split()方法,將分割后的內容保存在指定的字符串數組中;第二種方法是采用StringTokenizer,利用StringTokenizer的nextToken()、hasMoreTokens()等方法進行分割。

      2、描述一下JVM加載class文件的原理機制?

      答:JVM中類的裝載是由ClassLoader和它的子類來實現的,Java ClassLoader 是一個重要的Java運行時系統組件。它負責在運行時查找和裝入類文件的類。

      3、在什么情況下,finally語句不會執行?

      答:如果在try內部執行一條System.exit(0)語句終止應用程序的執行,則finally中的語句不會被執行。

      4、作用域public,private,protected,以及不寫時的區別。

      答:具體區別如下:

    作用域
    同一類
    同一包
    子孫類
    所有類
    public
      √  
    protected
    ×
    private
    ×
    ×
    ×
    默認
    ×
    ×

      5、說出重寫和重載的區別,重寫方法是否可以改變返回值的類型?

      答:方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫是父類與子類之間多態性的一種表現,重載是一個類中多態性的一種表現。

      如果在子類中定義某方法與其父類有相同的名稱和參數,我們說該方法被重寫。子類的對象使用 這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載。

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

      6、throw和throws有什么區別?

      答:throw關鍵字一般用于方法內部,用于拋出一個異常類對象,一旦異常被拋出后,throw語句后的程序代碼將不會被執行。

      throws關鍵字通常出現在方法聲明中,用來指定該方法可能拋出的異常。如果可能有多個異常拋出,可以使用逗號將它們分隔開。

      7、字符串的compareTo方法結果是什么?

      答:使用compareTo()方法可以比較字符串與字符串之間的大小關系。如果當前字符串小于指定字符串,則返回一個小于0的數值;否則返回一個大于0的數值;如果兩個字符串相等,則返回0。

      8、字符串的連接操作有幾種實現方法?

      答:字符串與字符串的連接操作可以通過“+”運算符和concat()方法來實現。另外“+”運算符還可以實現字符串與其他類型數據之間的連接操作,可以與字符串連接的數據類型有:int、long、float、double、boolean、char等。

      9、當一個對象被當作參數傳遞到一個方法后,此方法可改變這個對象的屬性,并可返回變化后的結果,那么這里到底是值傳遞還是引用傳遞?

      答:是值傳遞,因為在Java編程語言中只有值傳遞參數。當一個對象實例作為一個參數被傳遞到方法中時,參數的值就是對該對象的引用。對象的內容可以在被調用的方法中改變,但對象的引用是永遠不會改變的。

      1

      0、Class MyClass等價于 Class MyClass extends Object是否正確?

      答:正確。因為Object類是Java中最高層次的類,是所有類的超類。所有的類,都可以說是由Object繼承而來,只是我們不需要顯式地指明extends Object。

    3151186 主站蜘蛛池模板: 91成人午夜在线精品| 亚洲制服在线观看| 蜜芽.768.忘忧草二区老狼| 日本动态120秒免费| 国产一区二区三区免费播放| 18禁男女爽爽爽午夜网站免费| 少妇的丰满3中文字幕| 久久综合九色综合精品| 污视频在线网站| 啦啦啦中文在线观看日本| 免费看的黄网站| 国模精品一区二区三区| 中文亚洲日韩欧美| 日韩人妻无码精品无码中文字幕| 亚洲欧美日韩精品专区| 精品国产一区二区三区在线观看 | 女人18毛片水真多免费播放| 久久亚洲国产成人精品性色| 欧美多人野外伦交| 人妻无码一区二区三区四区| 老司机激情影院| 国产在线观看午夜不卡| 777米奇影视第四色| 天下第一社区视频welcome| 中文字幕乱伦视频| 日本免费观看网站| 久久er99热精品一区二区| 最近中文字幕国语免费高清6| 亚洲激情电影在线| 男和女一起怼怼怼30分钟| 国产va免费精品高清在线| 美女张开腿给男人桶| 国产乱码精品一区二区三区四川人| 在免费jizzjizz在线播| 国内精品伊人久久久久网站| 91w乳液78w78wyw5| 国产精品三级国语在线看| 97久久人人超碰国产精品| 天天射天天干天天插| www性久久久com| 成人黄色免费网址|