java.lang.reflect.Method类的getDefaultValue()方法。它返回由Method对象表示的注释成员的默认值。当注释成员属于原始类型时,该方法将返回该包装类型的实例。如果注释成员不包含任何默认值,或者方法对象没有注释类型的成员,则返回null。
用法:
public Object getDefaultValue()
返回值:此方法返回此Method对象表示的注释成员的默认值。
异常:如果注释的类型为Class,并且找不到默认类值的定义,则此方法将引发TypeNotPresentException。
以下示例程序旨在说明Method类的getDefaultValue()方法:
范例1:程序下面的程序包含一个接口名称演示,该接口名称演示带有由接口方法表示的注释成员的一些默认值。程序的主方法为接口的每个方法创建方法对象,并在方法包含这样的默认值时打印注释的默认值注解。
/*
* Program Demonstrate getDefaultValue() method
* of Method Class.
*/
import java.lang.reflect.Method;
// Main Class
public class GFG {
public static void main(String[] args)
throws NoSuchMethodException, SecurityException
{
// Get Method Object
Method methodObj1 = demo
.class
.getDeclaredMethod("fauvMovie");
// Apply getDefaultValue() method
Object obj1 = methodObj1.getDefaultValue();
// print default value
System.out.println(obj1);
// Get Method Object
Method methodObj2 = demo
.class
.getDeclaredMethod("fauvMovieRating");
// Apply getDefaultValue() method
Object obj2 = methodObj2.getDefaultValue();
// print default value
System.out.println(obj2);
// Get Method Object
Method methodObj3 = demo
.class
.getDeclaredMethod("fauvMovieReleaseYear");
// Apply getDefaultValue() method
Object obj3 = methodObj3.getDefaultValue();
// print default value
System.out.println(obj3);
}
// an interface with default annotations
public @interface demo {
public String fauvMovie() default "Inception";
public double fauvMovieRating() default 9.6;
public int fauvMovieReleaseYear();
}
}
Inception 9.6 null
范例2:下面的程序包含一个接口名称演示,该接口名称演示具有一些由interface方法表示的注释成员的默认值,以及一个类名称演示,该注释没有此类默认值。该程序的Main方法为Interface和class的每个方法创建Method Object如果方法包含注释的默认值,则打印注释的默认值。
/*
* Program Demonstrate getDefaultValue() method
* of Method Class.
*/
import java.lang.annotation.*;
import java.lang.reflect.Method;
// a simple class with no annotations
class demo {
public void demoMethod(String value)
{
System.out.println("demo method:" + value);
}
}
public class GFG {
// Main method
public static void main(String[] args)
{
try {
// create class object
Class classobj = demo.class;
Class[] parameterTypes = { String.class };
// get Method Object
@SuppressWarnings("unchecked")
Method method = classobj
.getMethod("demoMethod",
parameterTypes);
// Print default value
System.out.println("default value of demoMethod():"
+ method.getDefaultValue());
// get Method Object
Method methodobj = demoInterface
.class
.getDeclaredMethod("getValue");
// get default value
Object defaultValue = methodobj.getDefaultValue();
// Print default value
System.out.println("default value of getValue():"
+ defaultValue);
}
catch (Exception e) {
e.printStackTrace();
}
}
// a interface with some annotation
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
private @interface demoInterface {
int getValue() default 51;
}
}
default value of demoMethod():null default value of getValue():51
参考:
https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#getDefaultValue-
相关用法
- Java Method类 getDeclaringClass()用法及代码示例
- Java Method类 getModifiers()用法及代码示例
- Java Method类 hashCode()用法及代码示例
- Java Method类 getGenericExceptionTypes()用法及代码示例
- Java Method类 equals()用法及代码示例
- Java Method类 getExceptionTypes()用法及代码示例
- Java Method类 isVarArgs()用法及代码示例
- Java Method类 getParameterCount()用法及代码示例
- Java Method类 getTypeParameters()用法及代码示例
- Java Method类 getName()用法及代码示例
- Java Method类 getDeclaredAnnotations()用法及代码示例
- Java Method类 getAnnotation()用法及代码示例
- Java Method类 getGenericParameterTypes()用法及代码示例
- Java Method类 isBridge()用法及代码示例
- Java Method类 toGenericString()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Method Class | getDefaultValue() Method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。