更新時間:2020-03-28 13:16:17 來源:動力節點 瀏覽2267次
1.空字符串的作用
如題所示,當進行s=s+i的時候,s在前和s在后輸出的結果是相反的。空字符串在前時是正著輸出,空字符串在后是逆著輸出
2.shorts1=1;s1=s1+1;有什么錯?shorts1=1;s1+=1;有什么錯?
第一種情況,s1是short類型,在計算s1=s1+1時,前邊是short型,后邊是int型,不能自動轉換。由于沒有強轉,要報類型錯誤。
第二種情況,使用了+=這個java自帶的運算符,java內部會對其進行處理,所以編譯通過,不會報錯。
3.說說&和&&的區別。
&和&&都表示與的意思,既表達式倆邊都成立,結果才成立。
&&是邏輯運算符,&&有短路作用,既當表達式左邊為假時,不需要計算右邊,整個的結果直接為假;&沒有
&是位運算符,&的左右倆邊可以是布爾類型,也可以是數值;&&倆邊只能是布爾類型
4.Integer與int的區別
int是八大基本數據類型之一,Integer是int的封裝類。
int的默認值是0,Integer的默認值是null,此時的0代表這個數賦值0,而null代表沒接收到這個值
Integer提供了與整數相關的操作,int沒有
5.==與equals的區別
從表面上看,對于基本數據類型==是判斷的值是否相等;對于引用數據類型是判斷是否為同一個對象
從本質上看,是看是否為一個引用地址
equals是判斷值是否相等
6.override(重寫)和overload(重載)的區別
重載是在一個類中,方法名相同,參數列表不同(參數類型和參數個數)的一種現象
1.重載與返回值類型無關
2.不能通過訪問修飾符進行重載
如下是重載:
重寫是在父子類中,子類重寫父類的方法,要求方法名與參數列表,返回值類型完全相同。子類重寫父類規范要在子類的方法前加注解@Override
1.重寫的返回值類型可以改,但只能是父子類
例如:
2.重寫的訪問修飾符得大于等于原來的
3.不能重寫私有方法
4.參數列表的順序與類型必須一樣,變量名可不同
7.接口與抽象類的區別
抽象類是用abstract修飾的類,抽象類不能new對象。
接口是比抽象類還抽象的“類”
普通類:具體實現
抽象類:規范(抽象方法),具體實現
接口:規范(抽象方法)
區別:
1.抽象類中可以有抽象方法也可以有非抽象方法,接口中只能有抽象方法
2.抽象類中可以有成員變量,接口中只能有常量,用publicstaticfinal修飾,默認可不寫
3.抽象類有構造方法,接口沒有構造方法
4.抽象類中的方法的訪問修飾符可以是public,protected,默認;接口中方法的訪問修飾符只能是public,并且默認值是publicabstract
5.抽象類中可以有靜態方法,接口中不能有靜態方法。(static是類名直接調用,abstract是子類實現創建對象調用,如果一起修飾,自相矛盾了)
6.一個類可以實現多個接口,只能繼承一個抽象類
8.JDK,JRE,JVM的聯系與區別
JDK是java開發工具包,JDK包括JRE,類庫,java工具
JRE是java運行環境,JRE包括JVM,JRE里有運行.class的java.exe
JVM是java虛擬機,java虛擬機在執行字節碼時,把字節碼解釋成具體平臺的機器指令執行,這也是java語言跨平臺的根源,是“一次編譯,到處運行”的原因
聯系:JDK下的jre文件夾下有倆個文件夾lib和bin;在這里可以理解為bin就是jvm,lib就是類庫;所以JRE=JVM+類庫
我們利用JDK開發屬于自己的java程序,javac編譯成字節碼,在JRE上運行這些字節碼,JVM解析這些字節碼,最終映射到CPU指令集或OS的系統調用
區別:
JDK與JRE的區別:
1.JDK有javac.exe;JRE沒有
2.JDK是開發環境,JRE是運行環境
JRE與JVM的區別:
1.JVM執行.class需要JRE下lib類庫的支持(尤其是rt.jar)
9.Strings=newString("xyz");創建了幾個StringObject
創建了倆個對象或一個對象,如果常量池中沒有“xyz”第一次=在常量池中創建了一個字符串對象,第二次new又創建了一個字符串引用對象;如果常量池中有“xyz”,那就只是new的時候創建了一個對象。
10.Java有沒有goto?
java中的保留字,現在在java中沒有使用
以上就是動力節點java培訓機構的小編針對“互聯網Java面試題基礎”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習