- 我發現我對熬夜身體累徹底不擔憂,擔憂的只是熬夜傷身體
- 原來我是你們的小太陽,哈哈,但願大家和我相處都暖暖的^-^
下代碼對其執行後,NumberList裏的元素依次爲: List<Integer> NumberList =newArrayList<Integer>(); NumberList.add(2); NumberList.add(4); NumberList.add(1); NumberList.add(3); NumberList.add(5); for(int i =0;i<NumberList.size();++i) { int v = NumberList.get(i); if(v%2==0) { NumberList.remove(v); } } System.out.println(NumberList); 正確答案: D 你的答案: C (錯誤) A 2,4,1,3,5 B 2,1,3,5 C 4,1,3,5 D 會出現越界狀況
這題主要考察兩點:
1.ArrayList刪除元素後,剩餘元素會依次向前移動,所以下標一直在變,size()也會減少;
2.remove()方法調用的是remove(int index),而不是remove(Object o),所以刪除的是index索引處的元素;java
該題具體流程:
1.i=0,v=2,remove(2)刪除掉了元素1,所以NumberList剩餘元素【2,4,3,5】;
2.i=1,v=4,remove(4),此時線性表中只有四個元素,不可能刪除索引爲4的元素,所以會報數組下標越界異常。數組
關於JAVA堆,下面說法錯誤的是()? 正確答案: C 你的答案: 空 (錯誤) A 全部類的實例和數組都是在堆上分配內存的 B 堆內存由存活和死亡的對象,空閒碎片區組成 C 數組是分配在棧中的 D 對象所佔的堆內存是由自動內存管理系統回收
在使用super 和this關鍵字時,如下描述正確的是 正確答案: A 你的答案: A (正確) A 在子類構造方法中使用super()顯示調用父類的構造方法,super()必須寫在子類構造方法的第一行,不然編譯不經過 B super()和this()不必定要放在構造方法內第一行 C this()和super()能夠同時出如今一個構造函數中 D this()和super()能夠在static環境中使用,包括static方法和static語句塊
1)調用super()必須寫在子類構造方法的第一行,不然編譯不經過。每一個子類構造方法的第一條語句,都是隱含地調用super(),若是父類沒有這種形式的構造函數,那麼在編譯的時候就會報錯。
2)super()和this()相似,區別是,super從子類中調用父類的構造方法,this()在同一類內調用其它方法。
3)super()和this()均需放在構造方法內第一行。
4)儘管能夠用this調用一個構造器,但卻不能調用兩個。
5)this和super不能同時出如今一個構造函數裏面,由於this必然會調用其它的構造函數,其它的構造函數必然也會有super語句的存在,因此在同一個構造函數裏面有相同的語句,就失去了語句的意義,編譯器也不會經過。
6)this()和super()都指的是對象,因此,均不能夠在static環境中使用。包括:static變量,static方法,static語句塊。
7)從本質上講,this是一個指向本對象的指針, 然而super是一個Java關鍵字。函數
關鍵字super的做用是? 正確答案: D 你的答案: C (錯誤) A 用來訪問父類被隱藏的非私有成員變量 B 用來調用父類中被重寫的方法 C 用來調用父類的構造函數 D 以上都是
下列哪一種狀況能夠終止當前線程的運行? 正確答案: D 你的答案: D (正確) A 當一個優先級高的線程進入就緒狀態時 B 當該線程調用sleep()方法時 C 當建立一個新線程時 D 拋出一個異常時
下列選項中是正確的方法聲明的是?() 正確答案: A B C D 你的答案: A B C D (正確) A protected abstract void f1(); B public final void f1() {} C static final void fq(){} D private void f1() {}
1.抽象方法只能定義在抽象類中,抽象方法和抽象類必須由abstract修飾,abstract關鍵字只能描述類和方法,不能描述變量。抽象方法只定義方法聲明,不定義方法實現。抽象類不能夠被實例化(建立對象),只有經過子類繼承抽象類並覆蓋抽象類中的全部抽象方法後,該子類才能夠被實例化,不然該子類仍是一個抽象類。抽象類中有構造函數用於給子類對象進行初始化,同時抽象類中能夠含有非抽象方法。abstract關鍵字不能夠與final,private,static關鍵字共存,由於被final修飾的方法不能夠被重寫,意味着子類不能夠重寫該方法,若是abstract和final共同修飾父類中的方法,子類要實現抽象方法(abstract的做用),而final又不讓該方法重寫,這相互矛盾。若是private和abstract共同修飾父類中的方法,private修飾則該方法不能夠被子類訪問,可是abstract修飾須要子類去實現,二者產生矛盾。若是static和abstract共同修飾父類中的方法,static表示是靜態的方法,隨着類的加載而加載,則該方法不須要在子類中去實現,這與abstract關鍵字矛盾。 2.static用於修飾成員變量和成員函數,想要實現對象中的共性數據的對象共享,能夠將這個數據進行靜態修飾,被靜態修飾的成員能夠直接被類名調用,靜態隨着類的加載而加載,並且優先於對象存在。靜態方法只能訪問靜態成員(靜態方法和靜態變量),不能夠訪問非靜態成員,這是由於靜態方法加載時,優先於對象存在,因此沒有辦法訪問對象中的成員。靜態方法中不能使用this和super關鍵字,由於this表明本類對象,super表明父類對象,而靜態時,有可能沒有對象存在,因此this和super沒法使用。 3.final關鍵字能夠修飾類,方法,變量(成員變量內,局部變量,靜態變量),被final修飾的類是一個最終類,不能夠被繼承,被final修飾的方法是一個最終方法,不能夠被覆蓋,可是能夠被繼承。被final修飾的變量只能是一個常量,只能賦值一次。內部類被定義在類中的局部位置上時,只能訪問局部被final修飾的局部變量。