Java中的构造函数 getDeclaredAnnotations() 方法和示例
Java.lang.reflect.Constructor 类的getDeclaredAnnotations()方法用于返回此 Constructor 元素上存在的注释作为 Annotation 类对象的数组。 getDeclaredAnnotations() 方法忽略此构造函数对象上继承的注释。返回的数组可以不包含注释,如果构造函数没有注释,则该数组的长度可以为 0。
句法:
public Annotation[] getDeclaredAnnotations()
参数:此方法不接受任何内容。
Return :此方法返回直接存在于此元素上的注释数组
下面的程序说明了 getDeclaredAnnotations() 方法:
方案一:
// Java program to illustrate
// getDeclaredAnnotations() method
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = shape.class;
// get Constructor object
// array from class object
Constructor[] cons
= classObj.getConstructors();
// get array of annotations
Annotation[] annotations
= cons[0].getDeclaredAnnotations();
// print length of annotations array
System.out.println("Annotation : "
+ annotations);
}
@CustomAnnotation(createValues = "GFG")
public class shape {
@CustomAnnotation(createValues = "GFG")
public shape()
{
}
}
// create a custom annotation
public @interface CustomAnnotation {
public String createValues();
}
}
输出:
Annotation : [Ljava.lang.annotation.Annotation;@4aa298b7
方案二:
// Java program to illustrate
// getDeclaredAnnotations() method
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
public class GFG {
public static void main(String[] args)
{
// create a class object
Class classObj = String.class;
// get Constructor object
// array from class object
Constructor[] cons
= classObj.getConstructors();
// get array of annotations
Annotation[] annotations
= cons[0].getDeclaredAnnotations();
// print length of annotations array
System.out.println("Annotation length : "
+ annotations.length);
}
}
输出:
Annotation length : 0
参考资料: https: Java/lang/reflect/Constructor.html#getDeclaredAnnotations()