大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 成功拿到Offer,Java工程師筆試題及答案

成功拿到Offer,Java工程師筆試題及答案

更新時間:2020-02-21 11:08:13 來源:動力節點 瀏覽2724次


31 拷貝.jpg


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


  不可以。因為非static方法是要與對象關聯在一起的,必須創建一個對象后,才可以在該對象上進行方法調用,而static方法調用時不需要創建對象,可以直接調用。也就是說,當一個static方法被調用時,可能還沒有創建任何實例對象,如果從一個static方法中發出對非static方法的調用,那個非static方法是關聯到哪個對象上的呢?這個邏輯無法成立,所以,一個static方法內部發出對非static方法的調用。


  2、Integer與int的區別


  int是java提供的8種原始數據類型之一。Java為每個原始類型提供了封裝類,Integer是java為int提供的封裝類。int的默認值為0,而Integer的默認值為null,即Integer可以區分出未賦值和值為0的區別,int則無法表達出未賦值的情況。


  例如:要想表達出沒有參加考試和考試成績為0的區別,則只能使用Integer。在JSP開發中,Integer的默認為null,所以用el表達式在文本框中顯示時,值為空白字符串,而int默認的默認值為0,所以用el表達式在文本框中顯示時,結果為0,所以,int不適合作為web層的表單數據的類型。


  在Hibernate中,如果將OID定義為Integer類型,那么Hibernate就可以根據其值是否為null而判斷一個對象是否是臨時的,如果將OID定義為了int類型,還需要在hbm映射文件中設置其unsaved-value屬性為0。


  另外,Integer提供了多個與整數相關的操作方法,例如,將一個字符串轉換成整數,Integer中還定義了表示整數的最大值和最小值的常量。


  3、Math.round(11.5)等於多少?Math.round(-11.5)等於多少?


  Math類中提供了三個與取整有關的方法:ceil、floor、round,這些方法的作用與它們的英文名稱的含義相對應。


  例如,ceil的英文意義是天花板,該方法就表示向上取整,Math.ceil(11.3)的結果為12,Math.ceil(-11.3)的結果是-11;floor的英文意義是地板,該方法就表示向下取整,Math.ceil(11.6)的結果為11,Math.ceil(-11.6)的結果是-12;最難掌握的是round方法,它表示“四舍五入”,算法為Math.floor(x+0.5),即將原來的數字加上0.5后再向下取整,所以,Math.round(11.5)的結果為12,Math.round(-11.5)的結果為-11。


  這里有一些筆誤,floor的英文意義是地板,該方法就表示向下取整,Math.floor(11.6)的結果為11,Math.floor(-11.6)的結果是-12;


  4、Overload和Override的區別?Overloaded的方法是否可以改變返回值的類型?


  Overload是重載的意思,Override是覆蓋的意思,也就是重寫。


  重載Overload表示同一個類中可以有多個名稱相同的方法,但這些方法的參數列表各不相同(即參數個數或類型不同)。


  重寫Override表示子類中的方法可以與父類中的某個方法的名稱和參數完全相同,通過子類創建的實例對象調用這個方法時,將調用子類中的定義方法,這相當于把父類中定義的那個完全相同的方法給覆蓋了,這也是面向對象編程的多態性的一種表現。子類覆蓋父類的方法時,只能比父類拋出更少的異常,或者是拋出父類拋出的異常的子異常,因為子類可以解決父類的一些問題,不能比父類有更多的問題。子類方法的訪問權限只能比父類的更大,不能更小。如果父類的方法是private類型,那么,子類則不存在覆蓋的限制,相當于子類中增加了一個全新的方法。


  至于Overloaded的方法是否可以改變返回值的類型這個問題,要看你倒底想問什么呢?這個題目很模糊。如果幾個Overloaded的方法的參數列表不一樣,它們的返回者類型當然也可以不一樣。但我估計你想問的問題是:如果兩個方法的參數列表完全一樣,是否可以讓它們的返回值不同來實現重載Overload。這是不行的,我們可以用反證法來說明這個問題,因為我們有時候調用一個方法時也可以不定義返回結果變量,即不要關心其返回結果,例如,我們調用map.remove(key)方法時,雖然remove方法有返回值,但是我們通常都不會定義接收返回結果的變量,這時候假設該類中有兩個名稱和參數列表完全相同的方法,僅僅是返回類型不同,java就無法確定編程者倒底是想調用哪個方法了,因為它無法通過返回結果類型來判斷。


  override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了一個方法并且對其重寫,以求達到不同的作用。對我們來說最熟悉的覆蓋就是對接口方法的實現,在接口中一般只是對方法進行了聲明,而我們在實現時,就需要實現接口聲明的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。在覆蓋要注意以下的幾點:


  1、覆蓋的方法的標志必須要和被覆蓋的方法的標志完全匹配,才能達到覆蓋的效果;


  2、覆蓋的方法的返回值必須和被覆蓋的方法的返回一致;


  3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常一致,或者是其子類;


  4、被覆蓋的方法不能為private,否則在其子類中只是新定義了一個方法,并沒有對其進行覆蓋。


  Overload對我們來說可能比較熟悉,可以翻譯為重載,它是指我們可以定義一些名稱相同的方法,通過定義不同的輸入參數來區分這些方法,然后再調用時,VM就會根據不同的參數樣式,來選擇合適的方法執行。在使用重載要注意以下的幾點:


  1、在使用重載時只能通過不同的參數樣式。例如,不同的參數類型,不同的參數個數,不同的參數順序(當然,同一方法內的幾個參數類型必須不一樣,例如可以是fun(int,float),但是不能為fun(int,int));


  2、不能通過訪問權限、返回類型、拋出的異常進行重載;


  3、方法的異常類型和數目不會對重載造成影響;


  4、對于繼承來說,如果某一方法在父類中是訪問權限是priavte,那么就不能在子類對其進行重載,如果定義的話,也只是定義了一個新方法,而不會達到重載的效果。


  5、接口是否可繼承接口?抽象類是否可實現(implements)接口?抽象類是否可繼承具體類(concreteclass)?抽象類中是否可以有靜態的main方法?


  接口可以繼承接口。抽象類可以實現(implements)接口,抽象類可以繼承具體類。抽象類中可以有靜態的main方法。


  備注:只要明白了接口和抽象類的本質和作用,這些問題都很好回答,你想想,如果你是java語言的設計者,你是否會提供這樣的支持,如果不提供的話,有什么理由嗎?如果你沒有道理不提供,那答案就是肯定的了。


  只要記住抽象類與普通類的唯一區別就是不能創建實例對象和允許有abstract方法。


成功拿到Offer,Java工程師筆試題及答案


  以上就是動力節點Java培訓機構小編介紹的“成功拿到Offer,Java工程師筆試題及答案!”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


相關推薦


最新最全java面試題及答案(初級到高級)


史上最全的中高級JAVA工程師面試題及答案匯總


Java高級開發工程師面試題


2019史上最全java面試題題庫大全800題


哪有資深java工程師面試題


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产区在线观看 | a毛片在线还看免费网站 | 黄色片网站在线 | 日韩一区二区三区四区 | 国产一区曰韩二区欧美三区 | 亚洲韩国日本一级二级r级 亚洲韩精品欧美一区二区三区 | 狠狠色噜噜狠狠狠狠97影音先锋 | 国产一区免费观看 | 免费福利视频网站 | 在线亚洲日产一区二区 | 一级一级毛片看看 | 日韩欧美高清在线 | 天天做天天爱天天爽综合网 | 国产精品亚洲一区在线播放 | 狠狠操夜夜爱 | 国产精品久久久免费视频 | 四虎网址在线观看 | 深夜你懂的在线网址入口 | 国产操女人 | 欧美日韩亚洲精品一区 | 日日干夜夜骑 | 国产精品国语自产拍在线观看 | 欧美日韩国产精品 | 香蕉在线视频观看 | 国产视频久久久久 | 成人午夜性a一级毛片美女 成人午夜性视频欧美成人 成人午夜亚洲影视在线观看 | 国产欧美另类久久精品91 | 国产亚洲精品成人a在线 | 久久久久视频精品网 | 亚洲手机中文字幕 | 欧美成人香蕉在线观看 | 国产一区二区三区日韩欧美 | 极品美女aⅴ高清在线观看 极品美女一级毛片 | 高清国产一区二区三区 | 涩综合 | 久热99 | 首页 动漫 亚洲 欧美 日韩 | 另类色综合| 亚洲视频一区二区在线观看 | 国产成人精品高清在线 | 91热久久免费频精品黑人99 |