1. 程式人生 > 其它 >java--列舉和註解--註解

java--列舉和註解--註解

    1. package com.model.annotation;
      
      /**
       * @Description:測試類
       * @Author: 張紫韓
       * @Crete 2021/7/2 21:03
       * 演示註解 @Override的使用
       */
      public class AnnotationDemo01 {
          public static void main(String[] args) {
      
          }
      }
      class Father{
      
          public void test(){
      
          }
      }
      class Son extends Father{
          /*
          * 1. @Override 註解放在test方法上,表示子類的test方法時重寫了父類的方法
            2.這裡如果沒有寫@Override 還是重寫了父類的方法
            3.如果你寫了@Override註解,編譯器就會去檢查該方法是否真的重寫了父類的方法,如果的確重寫了,則編譯通過,如果沒有構成重寫,則編譯錯誤
            4.看看@Override的定義
          //解讀:如果發現@interface表示一個註解類/*
          @Target(ElementType.METHOD)
          Retention(RetentionPolicy . SOURCE)public @interface Override {
          }
      
      */ @Override public void test() { super.test(); } }
    2.     

    1. package com.model.annotation;
      
      /**
       * @Description:測試類
       * @Author: 張紫韓
       * @Crete 2021/7/2 21:16
       * 演示註解 @Deprecated
       */
      public class AnnotationDemo02 {
          public static void main(String[] args) {
      
              A a = new A();
          }
      }
      
      /** * * 1.修飾某個類,標識已經過時的 * 2.即不在推薦使用,但仍可以使用 * 3.檢視@Deprecate的原始碼 :可以做版本升級過渡使用 * @Documented * @Retention(RetentionPolicy.RUNTIME) * @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE}) :使用範圍 * public @interface Deprecated { * } * */ @Deprecated class A{ private
      String name; }
    1. package com.model.annotation;
      
      import java.util.ArrayList;
      
      /**
       * @Description:測試類
       * @Author: 張紫韓
       * @Crete 2021/7/2 21:24
       */
      public class AnnotationDemo03 {
          /**
           * @SuppressWarnings: 註解用來抑制我們的註解,警告資訊的出現
           * all:指定所有的警告全部抑制
           * 作用範圍 :我們放在方法前面只能作用與當前的方法,放在類上可以作用於整個類
           * 原始碼:
           *
           * @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE}):作用範圍
           * @Retention(RetentionPolicy.SOURCE)
           * public @interface SuppressWarnings {
           *    String[] value(); //有一個數組說明可以傳入一個數組:{"all","unchecked","unused"}
           *    }
           * */
          @SuppressWarnings("all")
          public static void main(String[] args) {
      
              ArrayList<String> list = new ArrayList<>();
              list.add("a");
              list.add("b");
              list.add("c");
              int i=0;
      
              System.out.println();
          }
      }
  1. JDK的元註解Annotation:

      1.  


      1.