- 刷題的目的是爲了發現已知知識的薄弱點,不是爲了學新知識,學新知識應該系統的去刷書和視頻
public static void main(String[] args) { int k = f_test(); System.out.println(k); } public static int f_test(){ int a = 0; try{ a = 1; return a; } finally{ System.out.println("It is in final chunk."); a = 2; return a; } } 輸出: It is in final chunk. 2 若是將 return a; 註釋掉,將輸出 It is in final chunk. 1
方法調用時,會建立棧幀在棧中,調用完是程序自動出棧釋放,而不是gc釋放
public class Test { public void add( int x,int y,int z){} } 正確答案: B A. public int add(int x,int y,float z){return 0;} B. public int add(int x,int y,int z){return 0;} C. public void add(int x,int y){} D. 以上都不是
重載、重寫區別java
byte b1=1,b2=2,b3,b6,b8; final byte b4=4,b5=6,b7; b3=(b1+b2); /*語句1*/ b6=b4+b5; /*語句2*/ b8=(b1+b4); /*語句3*/ b7=(b2+b5); /*語句4*/ System.out.println(b3+b6);
final知識點腦圖程序員
1、關於final的重要知識點; 一、final關鍵字能夠用於成員變量、本地變量、方法以及類。 二、 final成員變量必須在聲明的時候初始化或者在構造器中初始化,不然就會報編譯錯誤。 三、 你不可以對final變量再次賦值。 四、 本地變量必須在聲明時賦值。 五、 在匿名類中全部變量都必須是final變量。 六、 final方法不能被重寫。 七、 final類不能被繼承。 八、 沒有在聲明時初始化final變量的稱爲空白final變量(blank final variable),它們必須在構造器中初始化,或者調用this()初始化。不這麼作的話,編譯器會報錯「final變量(變量名)須要進行初始化」。 2、數據類型轉換 當使用 +、-、*、/、%、運算操做是,遵循以下規則: 只要兩個操做數中有一個是double類型的,另外一個將會被轉換成double類型,而且結果也是double類型,若是兩個操做數中有一個是float類型的,另外一個將會被轉換爲float類型,而且結果也是float類型,若是兩個操做數中有一個是long類型的,另外一個將會被轉換成long類型,而且結果也是long類型,不然(操做數爲:byte、short、int 、char),兩個數都會被轉換成int類型,而且結果也是int類型。 語句1錯誤:b3=(b1+b2);自動轉爲int,因此正確寫法爲b3=(byte)(b1+b2);或者將b3定義爲int; 語句2正確:b6=b4+b5;b四、b5爲final類型,不會自動提高,因此和的類型視左邊變量類型而定,即b6能夠是任意數值類型; 語句3錯誤:b8=(b1+b4);雖然b4不會自動提高,但b1仍會自動提高,因此結果須要強轉,b8=(byte)(b1+b4); 語句 4: (b2 + b5) 結果仍然轉換爲int , 因此語句4錯誤。
A. 垃圾回收 B. 虛擬機 C. 代碼安全 D. 多線程
選項A,Java語言中,垃圾回收機制對系統中不使用的內存進行回收,從而使程序員從繁忙的內存管理中解放出來。 選項B,Java編寫好的程序首先由編譯器轉換爲標準字節代碼,而後由虛擬機執行。虛擬機把字節代碼程序與各操做系統和硬件分開,使Java程序獨立於平臺。 選項C,Java的代碼安全檢測體如今多個層次上,在編譯層、解釋層、平臺層分別做不一樣的安全檢查。 選項D,多線程是Java程序的併發機制,它能同步共享數、處理不一樣的事件。
A. wait()方法屬於Object類,sleep()屬於Thread類 B. 調用wait()方法的時候,線程會放棄對象鎖 C. 調用sleep()方法的過程當中,線程不會釋放對象鎖 D. sleep()方法致使了程序暫停執行指定的時間,讓出cpu給其餘線程
public class Test{ public static class innerClass{ public static void prin(){ System.out.println("innerClass"); } } public static void main(String[] args) { Test.innerClass.prin(); System.out.println("HelloWorld"); } } 題目的意思是: 除去擴展名.java的部分,包含在java文件裏的Java裏的公共類必須與文件的名字相同。 可是公共的內部類是不須要和文件的名字相同的。
class Base{ public Base(String s){ System.out.print("B"); } } public class Derived extends Base{ public Derived (String s) { System.out.print("D"); } public static void main(String[] args){ new Derived("C"); } }
子類構造方法在調用時必須先調用父類的,因爲父類沒有無參構造,必須在子類中顯式調用,修改子類構造方法以下便可: public Derived(String s){ super("s"); System.out.print("D"); }