今天,算是我正式開始準備比較系統的學習的步伐了。加油。
首先就是今天的一些學習總結了,今天學的主要是java的一些增強部分。
第一,JUnit框架,我個人覺得這是一個非常好的框架,能大大的改善我們在學習的過程中對Main主方法的書寫次數,而且我們在開發的過程中也是會將一個大程序拆分成幾個不同的模塊去做,這樣就可以很好的將所書寫的功能模塊部分寫的比較好了。而且只需要在方法的最前面加上@Test這么幾個小小的單詞就可以了。
第二、可變參數,... variable_name,這樣就是一個可變參數的定義方式,能大大的減少我們在一些定義變量的過程中麻煩。那么我們在對可變參數的取用時,完全可以把可變參數這個值當成一個數組,這樣就可以比較完善的將此實現完美,而在取的時候,我們又會經常使用到另外一個增強for如圖。
這就是比較基礎的增強for和可變參數的使用。
第三、枚舉。我們在編寫程序的時候經常會控制一些數據的范圍,而枚舉就完全可以實現這個功能。enum.? 如圖
枚舉的定義,這就是一個最基本的枚舉的定義,能將這個枚舉的名字傳到一個方法里面作為一個參數,就能實現給出一個帶范圍的值,也就是將一般可以將枚舉看成是一個類。如果是一個類的話,那么是不是還有帶抽象方法的枚舉呢?
這個時候我們就需要在枚舉值也就是上面的A,B,C,D,E各個值的后面將這個需要實現的抽象方法進行實現。枚舉的構造方法必須是私有的,這一點我想不難理解。
第四、反射。這是一個特別重要的概念,在學習框架的情況下以及編寫一個框架的時候我們就會用到這個技術。反射就是加載類,并且加載出這個類的各個組成部分。
加載類:加載類,獲得類的字節碼。有三個方法
????????????????????? 第一種:class.forname("類的路徑");
????????????????????? 第二種:new 類名().getClass();這樣就可以加載出這個類了。
????????????????????? 第三種:類名.class;
解剖類:這里的解剖類其實可以大體上分為一個類最常用的幾部分。
????????????????????? 第一個:構造函數。.getConstructor()。但是這個方法的返回值是一個Constructor接口,所以在實例化的時候,不能直接new,而是要使用.newInstance()這個來進行實例化。但是這個只能反射出public這個權限的方法,所以我們還必須把私有的這個方法進行核對。在使用中,有一個getDeclaredConstrustor()這個方法,就可以將私有化的進行反射。不過構造方法貌似只需要直接加載類之后使用就行了,而不用解剖。
?????????????????????? 第二個:方法。方法和構造函數的方法上大體上還是差不多的,所使用的方法大體上也就是這種。.invoke("實體類對象","參數");其他的大體上也一致相同了,就不再展示。
?????????????????????? 第三個:主方法。主方法在使用的過程中,有一個String[] arg;這個在其中怎么反射呢?這里我們只需要對參數在外面加一層Object類型就行了
??????????????????????? 第四個:字段。
第五、內省操作。Introspector.getbeanInfo(Person.Class)。這個就可以得到和操作。
第六、泛型。泛型避免了不必要的強制轉換,避免了一些程序的安全問題。ArrayList? Map
這兩個都是比較重要的內容,
另外,個人是小白,有錯誤請留言。