java5新特性之Annotation 註解

2021-08-24 21:46:21 字數 1409 閱讀 2177

一、註解是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...