註解在 Java 開發工具包 (JDK) 1.5 版本中引入或可用。 Java 中的註解提供了有關程式碼結構中存在的數據的更多信息,即,它是關於數據的數據,也稱為元數據。
註解有助於以標準化方式定義程式碼中的元資料。此外,註解還有助於向 Java 編譯器提供編譯 Java 程式碼時要遵循的指令。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
使用註解時,我們使用「@」符號,然後加上註解的名稱,以便編譯器將其視為註解。
要注意的是,註解可以加在:
之前要記住的重要一點是所有註解都擴展 java.lang.annotation.Annotation 介面。此外,註解不能包含任何擴充子句。
在Java中,有一些內建的註釋,例如@Override、@Deprecated、@SuppressWarnings,它們是為特定目的而設計的,並在上述情況之一中使用,例如,僅用於類別或僅用於方法等
代碼:
class Dad { public void say() { System.out.println("Do your homework"); } } public class Child extends Dad { @Override public void say(){ System.out.println("I wanna play"); } public static void main(String args[]){ Dad daddy = new Child(); daddy.say(); } }
輸出:
代碼:
public class Outdated { @Deprecated public void oldShow() { System.out.println("This Method is deprecated"); } public static void main(String args[]) { Outdated od = new Outdated (); od.oldShow(); } }
輸出:
元註解有五種類型:
範例 – 文件與保留
代碼:
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface RSample { String rentent(); } @Documented @interface DSample { String doc(); } public class MetaAnnotate { public static void main(String arg[]) { new MetaAnnotate().rentent(); new MetaAnnotate().doc(); } @RSample (rentent="Meta Info R") public void rentent() { System.out.println("Retention Policy Applied"); } @DSample(doc="Meta Info D") public void doc() { System.out.println("Code Documented with the value"); } }
輸出:
說明:
註解分為三類,具體如下:
1。標記註釋– 這些類型的註釋用作聲明,通知開發人員以下函數或類別的全部內容,即,它共享有關函數或類別的額外信息,例如該函數是否覆蓋另一個函數或是函數已棄用等。 @Override、@Deprecated 被視為標記註釋。
範例: DemoAnnotation()
2。單值註釋 – 這種註解採用值來指定註解放置在前面的成員的值,因此不需要指定該成員的名稱。
範例: DemoAnnotation(“custId123”)
3。完整註釋 – 這種註釋採用多個值、對、成員。
範例: DemoAnnotation(category=”Toys”, value=1500)
自訂註解由使用者介面創建,後面跟著註解名稱,如我們將在下面的範例中看到的。
文件 1:定義的自訂註解
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface Magicians { String Wizard() default "Reynolds"; String House() default "Green"; } @Magicians public class Magician { @Magicians(Wizard = "Harry Potter", House = "Red") public String getString() { return null; } }
檔案2:呼叫自訂註解類別的主類別
import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; public class MyCustomAnnotation { public static void main(String[] args) throws NoSuchMethodException, SecurityException { new Magician(); Class<Magician> magic = Magician.class; readAnnotationOn(magic); Method method = magic.getMethod("getString", new Class[]{}); readAnnotationOn(method); } static void readAnnotationOn(AnnotatedElement element) { try { System.out.println("\n Find annotations on " + element.getClass().getName()); Annotation[] annotations = element.getAnnotations(); for (Annotation annotation : annotations) { if (annotation instanceof Magicians) { Magicians mData = (Magicians) annotation; System.out.println("Wizard Name :" + mData.Wizard()); System.out.println("Wizard House Color :" + mData.House()); } } } catch (Exception e) { e.printStackTrace(); } } }
輸出:
在本文中,我們透過範例了解了什麼是 java 註解及其類型,我們看到了 java 提供的內建註解的範例,並編寫了自訂註解。我們看到註釋對於標準化程式碼很有用,也有助於更好地理解程式碼及其結構。
以上是Java註解的詳細內容。更多資訊請關注PHP中文網其他相關文章!