註解與枚舉

註解與枚舉br/>Java除了註釋外,還有註解,註解是不同於註釋的,註解是可以在運行中獲取對對象的信息的描述,而註釋只是在源代碼中可以,進行編譯後就會剔除出去。
對於java的註解,有利於對對象的更詳細的描述。
Java的註解有:對類的註解,對字段的註解,讀方法的註解,對參數的註解等等。
對於註解的時機有:source源碼級別的,就是這種註解在編譯後會被丟棄,class編譯級別的,就是這種註解在運行時會被丟棄,runtime運行級別的,就是這種註解可以在源碼,編譯和運行時都存在並且使用。
對於java註解的使用更好的例子就是目前最流行的ssm架構,ssh架構等等。接下來就看一看註解的編寫與使用:
@Retention(RUNTIME)
@Target({ TYPE, FIELD, METHOD, PARAMETER, PACKAGE })
public @interface TestAbcAnno {
public String name() default "";
br/>}
@Retention中有source,runtime,class三個值,這三個值只能選擇其中一個,不能選擇多個。
@Target中有type表示類級別的註解,field表示字段級別的註解,method表示方法級別的註解,parameter表示參數級別的註解。除了這幾種常用的外,還有:package,constructor,local_variable,annotation_type,type_parameter,type_use等等。
在註解中,使用default來設置默認值。使用註解:
Class cla = MainBodyCon.class;
TestAbcAnno ano = (TestAbcAnno) cla.getAnnotation(TestAbcAnno.class);獲取類的註解
System.out.println(ano.name());
Field fie = cla.getDeclaredField("test");
TestAbcAnno f = fie.getAnnotation(TestAbcAnno.class); 獲取字段的註解
System.out.println(f.name());
Method method = cla.getMethod("nameP", String.class);
TestAbcAnno m = method.getAnnotation(TestAbcAnno.class);獲取方法的註解
System.out.println(m.name());
Parameter[] para = method.getParameters();
TestAbcAnno par = para[0].getAnnotation(TestAbcAnno.class);獲取參數的註解
System.out.println(par.name());

對於枚舉來說,就相對於簡單了,枚舉是對於某個事物有多種狀態,使用枚舉來列出來,使用時直接調用就可以了,不用親手寫出來,減少了重複寫發生的錯誤,同時也將修改變得簡單了和減少錯誤。
代碼:
public enum StatusEnum {
one(1),two(2),three(3);
private int value;
private StatusEnum(int value) {
this.value = value;
}
public int value() {
return this.value;
}
}
枚舉類中,結構方法必須是private類型的,如果是public是不行的。one(1), two(2), three(3);表示是各種枚舉,括號中的值是各種枚舉的值,枚舉的調用:
StatusEnum.one.value();
StatusEnum.two.value();
StatusEnum.three.value();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章