【譯】6. Java反射——Getter和Setter


原文地址:http://tutorials.jenkov.com/java-reflection/getters-setters.html

============================================================================================ 

     使用Java反射你可以檢查類的方法並在運行時調用它們。這個可以用來檢測一個給定類所包含的Getter和Setter方法。你不能明確的獲取Getter和Setter,所以你不得不通過掃描類里面的所有方法,然后檢查每個方法是不是Getter方法或者Setter方法。
     首先,讓我們建立一些描述Getter和Setter特征的規則:

  • Getter

  一個getter方法的方法名易“get”開頭,不接受參數,返回一個值。

  • Setter

  一個setter方法的方法名以“set”開頭,接受一個參數。
     setter方法既可以返回值也可以不返回值。一些setter方法返回void,一些返回傳入的值,其他的為了是使用方法鏈返回調用該setter的對象。因此,你不應該對一個setter方法的返回值類型做假設。
     這里是找出一個類的getter方法和setter方法的代碼示例:

public static void printGettersSetters(Class aClass){
  Method[] methods = aClass.getMethods();

  for(Method method : methods){
    if(isGetter(method)) System.out.println("getter: " + method);
    if(isSetter(method)) System.out.println("setter: " + method);
  }
}

public static boolean isGetter(Method method){
  if(!method.getName().startsWith("get"))      return false;
  if(method.getParameterTypes().length != 0)   return false;  
  if(void.class.equals(method.getReturnType()) return false;
  return true;
}

public static boolean isSetter(Method method){
  if(!method.getName().startsWith("set")) return false;
  if(method.getParameterTypes().length != 1) return false;
  return true;
}

 

 ========================================================================================

  • 目錄

 

 

 

  這是一個本教程到目前為止涵蓋的主題列表:     

 

 

 

  1. Java反射——引言
  2. Java反射——Class對象
  3. Java反射——構造函數
  4. Java反射——字段
  5. Java反射——方法
  6. Java反射——Getter和Setter
  7. Java反射——私有字段和私有方法
  8. Java反射——注解
  9. Java反射——泛型
  10. Java反射——數組
  11. Java反射——動態代理
  12. Java反射——類的動態加載和重新加載

 

 

 

(敬請期待下一篇翻譯)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM