<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ?# 第四章第二節--定義注解 標簽(空格分隔): 廖雪峰 --- ## 如何定義: 使用@interface定義注解(Annatation) - 注解的參數類似無參數方法. - 可以設定一個默認值(推薦). - 把最常用的參數命名為Value(推薦). ![定義注解例子](http://p0b921qfc.bkt.clouddn.com/18-5-18/65827705.jpg) ## 元注解: 可以用來修飾其他注解的注解稱為元注解. JDK已經注釋了元注解我們只需要應用即可,無需自己定義元注解. 1. @Target 用來定義Annotation可以被應用的位置. - 類或者接口:ElementType.TYPE. - 字段:ElementType.FIFLD. - 方法:ElementType.METHOD. - 構造方法:ElementType.CONSTRUCTOR. - 方法參數:ElementType.PAPAMETER. 2. @Retention 用來定義Annotation的生命周期: - 僅編譯器:RetentionPolicy.SOURCE. - 僅class文件:RetentionPolicy.CLASS. - 運行期:RetentionPolicy.RUNTIME. 如果@Retention不存在,則默認為僅編譯文件RetentionPolicy.CLASS. 通常定義為Annotation為RetentionPolicy.RUNTIME. Annotation的聲明周期: RetentionPolicy.SOURCE:是用來給編譯器看的,編譯完了直接丟棄. RetentionPolicy.CLASS:存儲在class文件中,但是不會be被讀取.有一些工具能夠處理class文件再處理class文件的時候可以讀取這些注解. RetentionPolicy.RUNTIME:在運行期我們可以通過代碼來讀取,這些Annotion 3. @Repeatable(JDK>1.8) 定義Annotation是否可以重復. ![重復例子](http://p0b921qfc.bkt.clouddn.com/18-5-18/17427947.jpg) 4. Inherited 定義子類是否可繼承父類的Annotation. - 只能針對@Target為TYPE類型的Annotation - 僅僅正對class繼承 - 對interface繼承無效. ![繼承例子](http://p0b921qfc.bkt.clouddn.com/18-5-18/66015170.jpg) ## 定義Annotation的步驟 - 第一步:使用@interface 定義一個注解. ![第一步](http://p0b921qfc.bkt.clouddn.com/18-5-18/77443627.jpg) - 第二步:使用元注解(meta Annotation)來配置這個注解.Target:必須設置,Retention:一般為RUNTIME.Inherited和Repeatable一般不用配置 ![添加元注解](http://p0b921qfc.bkt.clouddn.com/18-5-18/63267703.jpg) - 定義注解的默認值. ![定義值](http://p0b921qfc.bkt.clouddn.com/18-5-18/2437644.jpg) ## 小節小結 - 使用@interface定義注解. - 可定義多個參數和默認值,核心參數使用value名稱. - 必須設置@Target來指定Annotation使用的范圍. - 應當設置@Retention為RUNTIME便于運行時讀取.
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看