摘要:使用反射可以在运行时检视类的方法并调用它们。你不能直接得到和,必须扫描类所有的方法并依次检查是否或。首先,我们需要建立和方法的特征方法名称以开始,需要参数,并且返回一个值。查询一个类的和方法的示例代码如下
使用反射可以在运行时检视类的方法并调用它们。这被用来发现类的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; }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/77334.html
For the most part, in JavaScript, what you see is what you get. A value’s a value; there are no tricks. Sometimes however, you want a value that’s based on some other values: someone’s full name, for ...
摘要:原文地址设计模式三封装面向对象编程中,一切都是对象,对一个对象的封装,也成了面向对象编程中必不可少的部分。封装方法和别的程序设计语言一样,也只是三种封装概念,,。直接访问和修改破坏了类的封装性。 原文地址:PHP设计模式(三):封装 Introduction 面向对象编程中,一切都是对象,对一个对象的封装,也成了面向对象编程中必不可少的部分。和C/C++,Java,Python等语言一...
摘要:在这一步里,将配置文件的信息装入到容器的定义注册表中,但此时还未初始化。注册后处理器根据反射机制从中找出所有类型的,并将它们注册到容器后处理器的注册表中。是属性编辑器的注册表,主要作用就是注册和保存属性编辑器。 点击进入我的博客 1 Spring容器整体流程 1.1 ApplicationContext内部原理 AbstractApplicationContext是Applicati...
摘要:上一篇博客介绍了如何基于配置文件在运行时创建实例对象,这篇博客将介绍基于注解方式怎样实现对象的创建。方便测试,该类型分别创建两个单例和多例的类型。注意这种为对象注入属性值的方式耦合度较高,可根据情况使用。 上一篇博客介绍了如何基于xml配置文件在运行时创建实例对象,这篇博客将介绍基于注解方式怎样实现对象的创建。 废话不多说,直接上代码。 首先还是创建项目,由于这次不需要使用第三方的AP...
摘要:系列文章地址文档可以轻松的将对象转换成对象和文档,同样也可以将转换成对象。在项目中如果要引入,可以直接利用或者引入注意,项目已经自动依赖了与,不需要额外重复引入。 Github 系列文章地址 Jackson jackson-databind文档 Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。在项目中如果要引入Jac...
阅读 1178·2021-11-10 11:35
阅读 2891·2021-09-24 10:35
阅读 2898·2021-09-22 15:38
阅读 2786·2019-08-30 15:43
阅读 1316·2019-08-29 18:39
阅读 2537·2019-08-29 15:22
阅读 2770·2019-08-28 18:17
阅读 590·2019-08-26 13:37