zoukankan      html  css  js  c++  java
  • Java Reflection

    原文链接:http://tutorials.jenkov.com/java-reflection/getters-setters.html

    通过使用 Java 反射,我们能够在程序执行时观察 classes 的 methods 还能够调用这些方法。

    通过 methods 我们能够知道一个给定的类究竟有哪些 get 、 set 方法。我们不能显式的訪问 get 、 set 方法,所以我们必须遍历一个类的全部的方法来推断它是不是一个 get 或者 set 方法。
    首先让我们来给 get 、 set 方法下个定义吧:

    Get 方法

    1、 get 方法名称以 "get" 开头

    2、參数个数为0

    3、有一个返回值

    Set 方法

    1、 set 方法名称以 "set" 开头

    2、仅仅有一个參数。
    set 方法有可能有一个返回值,也有可能没有返回值。一些 set 方法的返回 void ,一些 set 方法返回一个集合。一些 set 方法是用于在方法调用链中的,详细的返回类型也不清楚,所以我们就不要妄自如果 set 方法的返回类型。

    以下的这段代码能够找出一个类中的 get 和 set 方法:

    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;
    }
    
  • 相关阅读:
    事务
    MySQL删除表的方式
    建立索引的原则
    对表设置引擎
    运算符
    数据库锁简介
    为什么对表设置主键
    php苹果原生apns推送接口
    华为推送
    php操作redis
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6971425.html
Copyright © 2011-2022 走看看