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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。