博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java反射-Getters and Setters
阅读量:5900 次
发布时间:2019-06-19

本文共 1007 字,大约阅读时间需要 3 分钟。

使用反射可以在运行时检视类的方法并调用它们。这被用来发现类的getters和setters。你不能直接得到getters和setters,必须扫描类所有的方法并依次检查是否getter或setter。

首先,我们需要建立getters和setters方法的特征:

  • Getter
    getter方法名称以“get”开始,需要0参数,并且返回一个值。
  • Setter
    setter方法名称以“set”开始,需要1个参数。

Setters方法可能会也可能不会返回一个值。一些Setters返回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;}

转载地址:http://hnesx.baihongyu.com/

你可能感兴趣的文章
程序设计的一些原理
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
struts2+extjs
查看>>
Apache2.4.33安装无systemctl/service status/state显示
查看>>
Docker的系统资源限制及验证
查看>>
在大公司呆5年,你就废了
查看>>
mac mamp mysql no start servel
查看>>
Docker简易版:使用更少击键运行Redis,MongoDB
查看>>
laravel框架快速入门(一)
查看>>
c++ ios_base register_callback方法使用
查看>>
Java中为什么需要Object类,Object类为什么是所有类的父类
查看>>
angularjs-paste-upload
查看>>
RXjs相关
查看>>
linux基础命令 head
查看>>
objective c:import和include的区别, ""和<>区别
查看>>
spring SchedulerFactoryBean 没有创建 Scheduler的实现类bea
查看>>
基于cobbler实现自动化安装系统
查看>>
The Shared folder with you
查看>>
BodyPaint__操作步骤
查看>>