一、註解是jdk1.5後加入的新特性,jdk自帶的annotation類主要有三個:
@suppresswarnings,可用於隱藏一些警告的提示.
用@suppresswarnings註解後:
其實還可以用泛型消除:
public listgetgirlfriends()
return list;
}
指明集合裡要裝的元素型別
@deprecated,此註解可作用在類、屬性及方法上.用來說明這個類、屬性或方法不再建議使用.
@override,作用於方法上,是讓編譯器檢查這個方法是不是重寫了父類的方法,如果沒有,則編譯會報錯。這樣可以避免由於程式設計師不小心敲錯或敲漏字母造成的錯誤!
二、自定義annotation
1、定義註解類myannotation
@retention(retentionpolicy.runtime)
public @inte***ce myannotation
@retention(retentionpolicy.runtime)的作用是標誌myannotation 註解資訊保留到執行期間。這樣才能使用反射獲取該註解的資訊.
2、應用了"註解類"的類
@myannotation(value1=enumtest.hello) //如果有預設值可不填引數 @myannotation
public class test
}
3、對"應用了註解類的類"進行反射操作的類
public class myreflection );
if(method.isannotationpresent(myannotation.class)));//用類clazz呼叫的是乙個靜態方法
myannotation anno = method.getannotation(myannotation.class);
system.out.println(anno.annotationtype());
system.out.println(anno.value());
system.out.println(anno.value1());
method ms = anno.annotationtype().getdeclaredmethods();
for(method m : ms)
} }}
列印結果:
呼叫了test()方法
inte***ce annotation.myannotation
hello world
welcome
value1
value
Java5新特性 靜態匯入
今天在看書的時候,看見了 靜態匯入 的這個概念,上網一查才知道是jdk5.0的新特性,真是孤陋寡聞了,所以好好學習了一下。靜態匯入,在你自己的類中使用靜態匯入,可以讓你使用其它類中定義的類方法和類變數,而且這些類方法和類變數就像在本地定義的一樣。也就是說,靜態匯入允許您在呼叫其它類中定義的靜態成員時...
在java 5中警惕」 「 陷阱
在有些jvm中,integer型別從 128到127的範圍內會放回用乙個物件,所以用 的時候,同樣大小的ingeter倆個物件會返回true。而超過這個範圍,就可能返回false了。integer i1 300 integer i2 300 if i1 i2 system.out.println i...
java5 抽象類和介面
包含乙個抽象方法的類就是抽象類。宣告而未被實現的方法,抽象方法必須使用abstract關鍵字宣告。示例 abstract class abs 抽象方法 public abstract void say public abstract void print public void setage int...