Java Reflection(六):Getters and Setters
2015-06-25 14:19
633 查看
使用Java反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,使用这个功能同样可以获取指定类的getters和setters,你不能直接寻找getters和setters,你需要检查一个类所有的方法来判断哪个方法是getters和setters。
首先让我们来规定一下getters和setters的特性:
Getter
Getter方法的名字以get开头,没有方法参数,返回一个值。
Setter
Setter方法的名字以set开头,有一个方法参数。
setters方法有可能会有返回值也有可能没有,一些Setter方法返回void,一些用来设置值,有一些对象的setter方法在方法链中被调用(译者注:这类的setter方法必须要有返回值),因此你不应该妄自假设setter方法的返回值,一切应该视情况而定。
下面是一个获取getter方法和setter方法的例子:
转载自并发编程网 – ifeve.com
原文链接:Java Reflection(六):Getters and Setters
首先让我们来规定一下getters和setters的特性:
Getter
Getter方法的名字以get开头,没有方法参数,返回一个值。
Setter
Setter方法的名字以set开头,有一个方法参数。
setters方法有可能会有返回值也有可能没有,一些Setter方法返回void,一些用来设置值,有一些对象的setter方法在方法链中被调用(译者注:这类的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; }
转载自并发编程网 – ifeve.com
原文链接:Java Reflection(六):Getters and Setters
相关文章推荐
- spring3 mvc+hibernate配置
- java如何获取SQL查询结果集中的行数和列数
- jar命令成功完成 java -jar 命令却提示“没有主清单属性”!
- myeclipse10配置maven
- java泛型
- Eclipse 调整背景色
- Myeclipse8.5中svn插件安装
- Win7下Eclipse中文字体太小解决
- Java Reflection(五):变量
- Selenium2.0功能测试之Alert/Confirm/Prompt的处理(Java版)
- java反射机制代码
- Java Reflection(四):方法
- Eclipse + Pydev + Django + Mysql 环境搭建
- eclipse提交代码至oschina
- eclipse从oschina pull代码
- Java Reflection(三):构造器
- spring学习2
- java注解
- java.util.concurrent包API学习笔记
- Java 多线程 并发编程