作者: Jakob Jenkov 译者:叶文海(yewenhai@gamil.com)

使用 Java 反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,使用这个功能同样可以获取指定类的 getters 和 setters,你不能直接寻找 getters 和 setters,你需要检查一个类所有的方法来判断哪个方法是 getters 和 setters。

首先让我们来规定一下 getters 和 setters 的特性:

Getter

Getter 方法的名字以 get 开头,没有方法参数,返回一个值。

Setter

Setter 方法的名字以 set 开头,有一个方法参数。

setters 方法有可能会有返回值也有可能没有,一些 Setter 方法返回 void,一些用来设置值,有一些对象的 setter 方法在方法链中被调用(译者注:这类的 setter 方法必须要有返回值),因此你不应该妄自假设 setter 方法的返回值,一切应该视情况而定。

下面是一个获取 getter方法和 setter方法的例子:

查看源代码打印帮助

</pre>
<pre class="codeBox">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;
}</pre>
<pre>

本文链接地址: <a rel="nofollow" href="http://ifeve.com/java-reflection%E5%85%ADgetters-and-setters/" "="" style="box-sizing: border-box; color: rgb(45, 133, 202); text-decoration: none; background-color: transparent;">Java Reflection(六):Getters and Setters

Java 反射 - Java 访问器相关推荐

  1. java为属性提供访问器方法_关于继承:Java不继承访问器方法吗?

    给定一个扩展了实现接口" DeeDum"的类" Foo"的类" Bar" public interface DeeDum { public ...

  2. 概述java反射,Java反射【一、概述】

    MySQL 更新语句技巧 一. 多表更新 1. 数据准备 mysql> mysql> select goods_id, goods_name,goods_cate from tdb_goo ...

  3. Java反射示例教程

    Java反射示例教程 Java Reflection提供检查和修改应用程序的运行时行为的能力.Java中的反射是核心java的一个先进主题.使用java反射我们可以检查一个类,在运行时接口,枚举,获取 ...

  4. java反射用法示例_Java反射示例教程

    java反射用法示例 Java Reflection provides ability to inspect and modify the runtime behavior of applicatio ...

  5. java 数组 反射_【译】10. Java反射——数组

    ===================================================================================== 用Java反射来处理数组有时 ...

  6. 不藏了,这些Java反射用法总结都告诉你们

    摘要:Java反射是一种非常强大的机制,它可以在同一个系统中去检测内部的类的字段.方法和构造函数.它非常多的Java框架中,都大量应用了反射技术,如Hibernate和Spring.可以说,反射机制的 ...

  7. java反射创建带参数对象_反射 Java反射对象创建 - 闪电教程JSRUN

    Java反射 -Java反射对象创建 我们可以使用反射动态创建类的对象.通过调用其中一个构造函数. 然后我们可以访问对象的细分的值,设置它们的值,并调用它们的方法. 有两种方法来创建对象: 使用no- ...

  8. Java反射机制的基本认识

    关于Java类加载 编译:java文件编译后生成class字节码文件 类加载机制:JVM把class文件加载到内存,并对数据进行校验.准备.解析.初始化,最终形成JVM可以直接使用的Java类型的过程 ...

  9. 我摊牌了,我不装了,这些 Java 反射用法总结都告诉你们

    Java反射的常见用法 反射的常见用法有三类,第一类是"查看",比如输入某个类的属性方法等信息,第二类是"装载",比如装载指定的类到内存里,第三类是" ...

最新文章

  1. Android学习书籍参考
  2. 华为云域名注册_关于域名购买的常识介绍,想建站的必看
  3. Flask+geventwebsocket实现群聊与单聊功能
  4. 什么是分布式事务以及有哪些解决方案?
  5. 离散数学实验题目-集合
  6. 机器学习之五:神经网络、反向传播算法推导
  7. Flutter AnimatedAlign 使用解析
  8. Jmeter plugins 之 Perfmon Metrics Collector(服务器性能监控)
  9. always on_Always On可用性组中的自动播种
  10. Arduino 实现八段数码管显示练习
  11. Ajax学习笔记-JQuery中的Ajax
  12. wordpress 修改上传文件大小限制
  13. 海南移动IPTV——使用的小Tips
  14. 传奇服务器修改二级密码,找回传奇玩家账号和二级密码,修改密码和密保
  15. pyspark groupby 后将遍历的每一行转成pandas df
  16. 在wamp使用tp5框架开发,连接数据库
  17. 找了这么多毕业设计题目,反而不知道选什么了
  18. 港中深、华为联合培养,韩晓光课题组招收三维视觉数字人方向博士生
  19. 【AI with ML】第 7 章 :用于自然语言处理的递归神经网络
  20. 朴素贝叶斯——垃圾邮件过滤

热门文章

  1. 大佬评清华Jittor,这是怎样一个深度学习框架?
  2. 面向CRM的企业客户档案管理革新
  3. XFLR5机翼分析工具下载及使用
  4. UE4中碰撞体的设置
  5. 2012,独立B2C已死!天猫战后观格局
  6. 歪解stateful session bean 和 stateless session bean的区别。
  7. 用C#实现两个整数集的输入和并集
  8. 法兰克机器人外部自动_FANUC机器人外部轴设置,小白勿点!
  9. 计算机网络传播时延公式,计算机网络时延的四种时延类型都有哪些
  10. 现在如何注册台服服务器,《英雄联盟手游》台服账号注册教程 台服拳头账号注册步骤图解...