注释在 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中文网其他相关文章!