激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - 淺談Java中注解Annotation的定義、使用、解析

淺談Java中注解Annotation的定義、使用、解析

2020-09-10 14:13Java教程網(wǎng) Java教程

下面小編就為大家?guī)?lái)一篇淺談Java中注解Annotation的定義、使用、解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

此例子,用于說(shuō)明如何在Java中對(duì)“注解 Annotation”的定義、使用和解析的操作。注解一般用于自定義開(kāi)發(fā)框架中,至于為什么使用,此處不作過(guò)多說(shuō)明,這里只說(shuō)明如何使用,以作備記。下面例子已測(cè)試,可以正常運(yùn)行通過(guò)。

1、注解自定義。

這里定義兩個(gè)注解,分別用來(lái)注解類(lèi)和注解屬性。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package cc.rulian.ann;
 
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
/**
 * 類(lèi)注釋
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface MyTable
{
  public String name() default "";
  public String version() default "1";
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package cc.rulian.ann;
 
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
 
 
/**
 * 字段注釋
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
 
public @interface MyField {
  public String name() default "";   //名稱(chēng)
  public String type() default ""//類(lèi)型
  
}

2、注解的使用。

說(shuō)明如何在類(lèi)中使用自定義注解。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package cc.rulian.ann;
 
import java.util.Date;
 
/**
 * 基礎(chǔ)日志
 *
 */
@MyTable(name="T_BaseLog",version="2")
public class BaseLog{
  
  @MyField(name="addTime",type="Date")
  private Date log_time; // 時(shí)間
 
  @MyField(name="log_level",type="String")
  private String log_level; // 級(jí)別
 
  @MyField(name="message",type="String")
  private String message; // 日志內(nèi)容
 
  public Date getLog_time()
  {
    return log_time;
  }
 
  public void setLog_time(Date log_time)
  {
    this.log_time = log_time;
  }
 
  public String getLog_level()
  {
    return log_level;
  }
 
  public void setLog_level(String log_level)
  {
    this.log_level = log_level;
  }
 
  public String getMessage()
  {
    return message;
  }
 
  public void setMessage(String message)
  {
    this.message = message;
  }
 
}

3、注解的解析。

說(shuō)明如何解析注解。

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package cc.rulian.ann;
 
import java.lang.reflect.Field;
 
/**
 * 讀取注釋
 */
public class ReadAnn
{
  public static void main(String[] args)
  {
    // 讀取類(lèi)的注釋
    BaseLog obj = new BaseLog();
    // Annotation[] arr = obj.getClass().getAnnotations(); //得到所有注釋
    MyTable table = obj.getClass().getAnnotation(MyTable.class); // 取得指定注釋
 
    System.out.println("類(lèi)注釋?zhuān)╪ame): " + table.name());
    System.out.println("類(lèi)注釋?zhuān)╲ersion): " + table.version());
 
    // 讀取屬性的注釋
    Field[] fields = obj.getClass().getDeclaredFields();
    for (Field f : fields)
    {
      // Annotation[] arr2 = f.getAnnotations(); //得到所有注釋
      MyField ff = f.getAnnotation(MyField.class);// 取得指定注釋
      if(ff != null)
      {
        System.out.println("屬性(" + f.getName() + "): " + ff.name() + " -- " + ff.type());
      }
    }
  }
 
}

4、解析輸出結(jié)果。

類(lèi)注釋?zhuān)╪ame): T_BaseLog
類(lèi)注釋?zhuān)╲ersion): 2
屬性(log_time): addTime -- Date
屬性(log_level): log_level -- String
屬性(message): message -- String

以上這篇淺談Java中注解Annotation的定義、使用、解析就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产免费最爽的乱淫视频a 午夜精品久久久久久久99热浪潮 | 色妞视频男女视频 | 欧美一级黄色免费看 | 亚洲免费视频一区 | 国产免费永久在线观看 | 日韩在线观看电影 | 美女亚洲 | 亚洲国产网址 | 羞羞的动漫在线观看 | 极品xxxx欧美一区二区 | 免费国产人成网站 | 久久久综合视频 | 综合日韩欧美 | 久久色网站 | 国产亚洲精品久久久久久久久久 | 一级一片免费看 | 免费一级欧美在线观看视频 | 免费黄色大片在线观看 | 操你逼| 在线看一区二区三区 | 在线免费观看精品 | 成人午夜毛片 | 在线观看免费视频麻豆 | a网在线 | 国产精品午夜未成人免费观看 | 久久精品视频亚洲 | 国产刺激高潮av | 国产91免费看 | 成人毛片100免费观看 | 精品视频一区二区三区四区 | 中文字幕在线免费 | 手机免费看一级片 | 最新中文字幕日本 | 日韩伦理电影免费观看 | 最新91在线视频 | 一区二区三区在线观看国产 | 欧美精品亚洲人成在线观看 | 女人一级一级毛片 | 91成人一区| 久久精品亚洲精品国产欧美kt∨ | sesee99|