中山網(wǎng)站建設(shè)服務(wù)網(wǎng)站推廣怎么做有效果
1. 單元測試
- 就是針對最小的功能單元(方法),編寫測試代碼對其進(jìn)行正確性測試。
1.1. Junit單元測試框架
- 可以用來對方法進(jìn)行測試,他是第三方公司開源出來的(很多開發(fā)工具都已經(jīng)集成了Junit框架,如IDEA)
1.1.1. 優(yōu)點(diǎn)
- 可以靈活的編寫測試代碼,可以針對某個(gè)方法執(zhí)行測試,也支持一鍵完成對全部方法的自動(dòng)化測試,且各自獨(dú)立。
- 不需要程序員去分析測試結(jié)果,會(huì)自動(dòng)生成測試報(bào)告。
1.1.2. 使用步驟
1.1.3. 斷言機(jī)制
可以讓程序員預(yù)測方法的結(jié)果,判斷業(yè)務(wù)是否正確
1.2. Junit框架的常見注解
2. 反射
2.1. 反射
- 反射就是,加載類,并允許以編程的方式解剖類中的各種成分(成員變量、方法、構(gòu)造器)。
2.2. 如何獲取類的信息、操作它們
- 加載類,獲取類的字節(jié)碼:Class對象
- 獲取類的構(gòu)造器:Constructor對象
- 獲取類的成員變量:Field對象
- 獲取類的成員方法:Method對象
2.3. 獲取類
獲取Class對象的三種方式
- Class c1 = 類名.class
- 調(diào)用Class提供方法:public static Class forName(String package)
- Object類提供的方法:public Class getClass(); Class c3 = 對象.getClass();
2.4. 獲取類的構(gòu)造器
- 獲取類構(gòu)造器的作用:依然是初始化對象返回
2.5. 獲取類的成員變量
- 獲取成員變量的作用:依然是賦值、取值
2.6. 獲取類的成員方法
- 成員方法的作用:依然是執(zhí)行
2.7. 作用
- 基本作用:可以得到一個(gè)類的全部成分然后操作。
- 可以破壞封裝性
- 最重要的用途是:適合做Java框架,基本上,主流的框架都會(huì)基于反射設(shè)計(jì)出一些通用的功能。
2.8. 使用反射做一個(gè)簡易版框架
/*** 用于保存任意對象的成員變量值到文件中去*/
public class ObjectFrame {public static void saveObject(Object object) throws Exception {// 創(chuàng)建打印流, 打印數(shù)據(jù)PrintStream printStream = new PrintStream(new FileOutputStream("src\\a.txt", true));// 不清楚對象的成員變量數(shù)量 通過反射機(jī)制獲取所有的成員變量// 獲取類的字節(jié)碼Class c = object.getClass();// 獲取所有的成員變量Field[] fields = c.getDeclaredFields();printStream.println("-------------" + c.getSimpleName() + "--------------");// 遍歷所有的成員變量for (Field field : fields) {field.setAccessible(true);// 獲取成員變量的名字String name = field.getName();// 獲取該成員變量在對象中的值String value = field.get(object) + "";printStream.print(name + "------>" + value + "\r\n");}}
}
public class FrameTest {@Testpublic void test1() throws Exception {Student student = new Student("小明", 19, "男", 178.5);Teacher teacher = new Teacher("張老師",9000);ObjectFrame.saveObject(student);ObjectFrame.saveObject(teacher);}
}
3. 注解
3.1. 特點(diǎn)
- 就是Java代碼里的特殊標(biāo)積,如@Override、@Test等,作用是:讓其他程序根據(jù)注解信息來決定怎么執(zhí)行該程序。
- 注解可以用在類上、構(gòu)造器上、方法上、成員變量上、參數(shù)上等位置處。
3.2. 自定義注解
- 特殊屬性名:value,如果注解中只有一個(gè)value屬性,使用注解時(shí),value名稱可以不寫!!
3.3. 注解的原理
3.4. 元注解
- 指修飾注解的注解
3.5. 注解的解析
- 判斷類上、方法上、成員變量上是否存在注解,并把注解里的內(nèi)容給解析出來。