Java必会基础题,量不多,但每天进步一点也是好的
生活随笔
收集整理的這篇文章主要介紹了
Java必会基础题,量不多,但每天进步一点也是好的
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1
指出下列程序運(yùn)行的結(jié)果:
public class Example{String str=new String("tarena");char[]ch={'a','b','c'};public static void main(String args[]){Example ex=new Example();ex.change(ex.str,ex.ch);System.out.print(ex.str+" and ");System.out.print(ex.ch);}public void change(String str,char ch[]){//引用類型變量,傳遞的是地址,屬于引用傳遞。str="test ok";ch[0]='g';} }正確答案: tarena and gbc
由于string和char數(shù)組都是引用類型,調(diào)用方法時傳遞的是引用,如下圖所示
按道理修改str和ch時會影響原來的值,但是由于string是不可變的, 對string的修改實(shí)際 上是new
了-個新對象(這也是string和stringbuffer的區(qū)別, stringbuffer的底層是char數(shù)組, 所以可以直
接修改), 而對char數(shù)組的修改則會影響原值。所以如下圖。
2
指出下列程序運(yùn)行的結(jié)果:
public static void main(String args[]) {List Listlist1 = new ArrayList();Listlist1.add(0);List Listlist2 = Listlist1;System.out.println(Listlist1.get(0) instanceof Integer);System.out.println(Listlist2.get(0) instanceof Integer); } List集合中的元素必須是對象。 Listlist1.add(0); JDK1.5之后支持自動裝箱(int類型自動裝箱成Integer),編譯通過。 instanceof:前一個參數(shù)通常是一個引用類型變量,后一個操作數(shù)通常是一個類(也可以是一個接口, 它用于判斷前面的對象是否是后面的類,或者其子類、實(shí)現(xiàn)類的實(shí)例。 List沒有使用泛型,說明使用get(0)取出的元素的編譯類型Object型的, 但運(yùn)行時類型是 Integer。所以打印true。這邊體現(xiàn)了多態(tài)。 而Listlist1把引用賦給了List list2,說明兩個指向同一個對象。第二個打印的也是true3
以下程序的輸出結(jié)果為
class Base{public Base(String s){System.out.print("B");} } public class Derived extends Base{pub1ic Derived (String s) {System.out.print("D");}public static void main(String[] args){new Derived("C");} }BD
DB
C
編譯錯誤? ? ? ?------------>正確答案
子類構(gòu)造方法在調(diào)用時必須先調(diào)用父類的,由于父類沒有無參構(gòu)造,必須在子類中顯式調(diào)用,修改子類構(gòu)造方法如下即可:
public Derived(String s){super("s");System.out.print("D");}上面這些題目來源于牛客網(wǎng),自己也是剛開始做,分享的題目可能我并沒有做錯,但是也是給我?guī)砹耸斋@的題目,題解也是挑的下面牛友寫的好一些的題解,大家也可以私信我【學(xué)習(xí)】,我總結(jié)了10W字的面試題(附答案)無償分享更多面試,希望大家有所收獲。
總結(jié)
以上是生活随笔為你收集整理的Java必会基础题,量不多,但每天进步一点也是好的的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想y7000电脑未正确启动_Lenov
- 下一篇: Password authenticat