<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # @Override @Override 用在方法上,表示這個方法重寫了父類的方法,如toString()。 如果父類沒有這個方法,那么就無法編譯通過,如例所示,在fromString()方法上加上@Override 注解,就會失敗,因為Hero類的父類Object,并沒有fromString方法。 ``` package annotation; public class Hero { String name; @Override public String toString() { return name; } @Override public String fromString() { return name; } } ``` # @Deprecated @Deprecated 表示這個方法已經過期,不建議開發者使用。(暗示在將來某個不確定的版本,就有可能會取消掉) 如例所示,開地圖這個方法hackMap,被注解為過期,在調用的時候,就會受到提示 ``` package annotation; public class Hero { String name; @Deprecated public void hackMap() { } public static void main(String[] args) { new Hero().hackMap(); } } ``` # @SuppressWarnings @SuppressWarnings Suppress英文的意思是抑制的意思,這個注解的用處是忽略警告信息。 比如大家使用集合的時候,有時候為了偷懶,會不寫泛型,像這樣: ``` List heros = new ArrayList(); ``` 那么就會導致編譯器出現警告,而加上 ``` @SuppressWarnings({ "rawtypes", "unused" }) ``` 就對這些警告進行了抑制,即忽略掉這些警告信息。 @SuppressWarnings 有常見的值,分別對應如下意思 1.deprecation:使用了不贊成使用的類或方法時的警告(使用@Deprecated使得編譯器產生的警告); 2.unchecked:執行了未檢查的轉換時的警告,例如當使用集合時沒有用泛型 (Generics) 來指定集合保存的類型; 關閉編譯器警告 3.fallthrough:當 Switch 程序塊直接通往下一種情況而沒有 Break 時的警告; 4.path:在類路徑、源文件路徑等中有不存在的路徑時的警告; 5.serial:當在可序列化的類上缺少 serialVersionUID 定義時的警告; 6.finally:任何 finally 子句不能正常完成時的警告; 7.rawtypes 泛型類型未指明 8.unused 引用定義了,但是沒有被使用 9.all:關于以上所有情況的警告。 ``` package annotation; import java.util.ArrayList; import java.util.List; public class Hero { String name; @SuppressWarnings({ "rawtypes", "unused" }) public static void main(String[] args) { List heros = new ArrayList(); } } ``` # @FunctionalInterface @FunctionalInterface這是Java1.8 新增的注解,用于約定函數式接口。 函數式接口概念: 如果接口中只有一個抽象方法(可以包含多個默認方法或多個static方法),該接口稱為函數式接口。函數式接口其存在的意義,主要是配合Lambda 表達式 來使用。 如例所示,AD接口只有一個adAttack方法,那么就可以被注解為@FunctionalInterface,而AP接口有兩個方法apAttack()和apAttack2(),那么就不能被注解為函數式接口 AD : ``` package annotation; @FunctionalInterface public interface AD { public void adAttack(); } ``` AP: ``` package annotation; @FunctionalInterface public interface AP { public void adAttack(); public void apAttack2(); } ``` # 總結 以上都是內置注解,從開發過程中的體驗來講,有也可以,沒有也可以,曉得有這么回事就行了。
                  <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>

                              哎呀哎呀视频在线观看