互聯(lián)網Java面試題基礎

互聯(lián)網Java面試題基礎

長沙牛耳教育      2022-03-27 13:30:01     12

互聯(lián)網Java面試題基礎,  1.空字符串的作用  如題所示,當進行s=s+i的時候,s在前和s在后輸出的結果是相反的??兆址谇皶r是正著輸出,空字符串

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹


  1.空字符串的作用



  如題所示,當進行s=s+i的時候,s在前和s在后輸出的結果是相反的??兆址谇皶r是正著輸出,空字符串在后是逆著輸出


  2.shorts1=1;s1=s1+1;有什么錯?shorts1=1;s1+=1;有什么錯?


  第一種情況,s1是short類型,在計算s1=s1+1時,前邊是short型,后邊是int型,不能自動轉換。由于沒有強轉,要報類型錯誤。


  第二種情況,使用了+=這個java自帶的運算符,java內部會對其進行處理,所以編譯通過,不會報錯。


  3.說說&和&&的區(qū)別。


  &和&&都表示與的意思,既表達式倆邊都成立,結果才成立。


  &&是邏輯運算符,&&有短路作用,既當表達式左邊為假時,不需要計算右邊,整個的結果直接為假;&沒有


  &是位運算符,&的左右倆邊可以是布爾類型,也可以是數值;&&倆邊只能是布爾類型


  4.Integer與int的區(qū)別


  int是八大基本數據類型之一,Integer是int的封裝類。


  int的默認值是0,Integer的默認值是null,此時的0代表這個數賦值0,而null代表沒接收到這個值


  Integer提供了與整數相關的操作,int沒有


  5.==與equals的區(qū)別


  從表面上看,對于基本數據類型==是判斷的值是否相等;對于引用數據類型是判斷是否為同一個對象


  從本質上看,是看是否為一個引用地址

  equals是判斷值是否相等


  6.override(重寫)和overload(重載)的區(qū)別


  重載是在一個類中,方法名相同,參數列表不同(參數類型和參數個數)的一種現象


  1.重載與返回值類型無關


  2.不能通過訪問修飾符進行重載


  如下是重載:

  重寫是在父子類中,子類重寫父類的方法,要求方法名與參數列表,返回值類型完全相同。子類重寫父類規(guī)范要在子類的方法前加注解@Override


  1.重寫的返回值類型可以改,但只能是父子類


  例如:



  2.重寫的訪問修飾符得大于等于原來的


  3.不能重寫私有方法


  4.參數列表的順序與類型必須一樣,變量名可不同


  7.接口與抽象類的區(qū)別


  抽象類是用abstract修飾的類,抽象類不能new對象。


  接口是比抽象類還抽象的“類”


  普通類:具體實現


  抽象類:規(guī)范(抽象方法),具體實現


  接口:規(guī)范(抽象方法)


  區(qū)別:


  1.抽象類中可以有抽象方法也可以有非抽象方法,接口中只能有抽象方法


  2.抽象類中可以有成員變量,接口中只能有常量,用publicstaticfinal修飾,默認可不寫


  3.抽象類有構造方法,接口沒有構造方法


  4.抽象類中的方法的訪問修飾符可以是public,protected,默認;接口中方法的訪問修飾符只能是public,并且默認值是publicabstract


  5.抽象類中可以有靜態(tài)方法,接口中不能有靜態(tài)方法。(static是類名直接調用,abstract是子類實現創(chuàng)建對象調用,如果一起修飾,自相矛盾了)


  6.一個類可以實現多個接口,只能繼承一個抽象類


  8.JDK,JRE,JVM的聯(lián)系與區(qū)別


  JDK是java開發(fā)工具包,JDK包括JRE,類庫,java工具


  JRE是java運行環(huán)境,JRE包括JVM,JRE里有運行.class的java.exe


  JVM是java虛擬機,java虛擬機在執(zhí)行字節(jié)碼時,把字節(jié)碼解釋成具體平臺的機器指令執(zhí)行,這也是java語言跨平臺的根源,是“一次編譯,到處運行”的原因


  聯(lián)系:JDK下的jre文件夾下有倆個文件夾lib和bin;在這里可以理解為bin就是jvm,lib就是類庫;所以JRE=JVM+類庫


  我們利用JDK開發(fā)屬于自己的java程序,javac編譯成字節(jié)碼,在JRE上運行這些字節(jié)碼,JVM解析這些字節(jié)碼,最終映射到CPU指令集或OS的系統(tǒng)調用


  區(qū)別:


  JDK與JRE的區(qū)別:


  1.JDK有javac.exe;JRE沒有


  2.JDK是開發(fā)環(huán)境,JRE是運行環(huán)境


  JRE與JVM的區(qū)別:


  1.JVM執(zhí)行.class需要JRE下lib類庫的支持(尤其是rt.jar)


  9.Strings=newString("xyz");創(chuàng)建了幾個StringObject


  創(chuàng)建了倆個對象或一個對象,如果常量池中沒有“xyz”第一次=在常量池中創(chuàng)建了一個字符串對象,第二次new又創(chuàng)建了一個字符串引用對象;如果常量池中有“xyz”,那就只是new的時候創(chuàng)建了一個對象。


  10.Java有沒有goto?


  java中的保留字,現在在java中沒有使用



  以上就是長沙牛耳教育java培訓機構的小編針對“互聯(lián)網Java面試題基礎”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


Java面試題

培訓啦提醒您:交易時請核實對方資質,對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。