這裡的代碼塊是指獨立於方法體之外的用{}括起來的代碼塊,包括靜態代碼塊、非靜態代碼塊,例如: class A{ static int x=0;//靜態屬性 int y=1; //非靜態屬性 static{ //靜態代碼塊 } { //非靜態代碼塊 } public A(){ //構造方法 } public static void main(String[] args){ A
1,集合和泛型在沒有給集合制定類型時,一個集合可以加入任何類型的資料,但是規定了類型之後,則只能放同一種類型的資料2,泛型是jdk1.5的新特性3,去類型化(泛型基本可以說是通過編譯器實現的,在運行階段類型會被擦除)ArrayList<String> lista = new ArrayList<String>();ArrayList<Integer> listb = new
class Cat{public void miao(){System.out.println("i am a cat");}}class WhiteCat extends Cat{public void miao(){System.out.println("i am a whitecat");}}public class Test {/** * @param args */public static void getCat(Cat cat){System.out.println("cat---
Type mapType = new TypeToken<Map<String,Object>>(){}.getType();該方法是擷取從json轉為要轉為java對象的物件類型。Type mapType = new TypeToken<Map<String,Object>>() {}.getType(); String data= ((String[])parameters.get("data"))[0];
在JAVA中,當需要把一個類序列化的時候,顯示提供一個serialVersionUID有什麼用呢? a)小幅效能提升,免除JVM運行時對這個值的計算。 b)避免java.io.InvalidClassException,不同的JVM對serialVersionUID的計算方法可能不一樣,就算類的定義和序列化後的對象是一致的,也可能從JVM-A裡序列化後的對象到達JVM-B後,JVM-B認為 Class
在本例中,Box() 建構函式需要三個自變數,這意味著定義的所有Box對象必須給Box() 建構函式傳遞三個參數。例如,下面的語句在當前情況下是無效的:Box ob = new Box(); 因為Box( )要求有三個參數,因此如果不帶參數的調用它則是一個錯誤。這會引起一些重要的問題。如果你只想要一個盒子而不在乎 (或知道)它的原始的尺寸該怎麼辦?或,如果你想用僅僅一個值來初始化一個立方體,而該值可以被用作它的所有的三個尺寸又該怎麼辦?如果Box