黑马程序员__内省和JavaBean
来源:互联网 发布:nodejs npm安装linux 编辑:程序博客网 时间:2024/04/29 00:15
内省Introspector
Java提供用于对JavaBean进行操作的类。
JavaBean
JavaBean是一种特殊的Java类,主要用于传输数据信息,这种java类中的方法主要用于访问私有的字段,且方法符合某种命名规则。
如果要在两个模块之间传递多个信息,可以将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO)。这些信息在类中用私有字段来存储,如果读取或设置这些字段值,则需要通过一些相应的方法来访问,大家觉得这些方法名叫什么好呢?JavaBean属性是跟据其中的setter和getter方法来确定的,而不是根据其中的成员变量。如果方法名为SetId,中文意思即为设置Id,至于你把它放到哪个变量上,用管吗?如果方法名为getId,中文意思为获取Id,至于你从哪个变量上取,用管吗、?去掉set前缀就是属性名,如果剩余部分的第二个字母是小写,则把剩余部分首字母改为小写的。
setId()属性名--->id
isLast()属性名-last
例如
- class Person
- {
- private int age;
- public int getAge()
- {
- return age;
- }
- public void setAge(int age)
- {
- this.age = age;
- }
- //Age如果第二个字母是小写的,则把第一个字母变成小写的—>age就是属性名
- }
class Person{private int age;public int getAge(){return age;}public void setAge(int age){this.age = age;}//Age如果第二个字母是小写的,则把第一个字母变成小写的—>age就是属性名}
对JavaBean的简单内省操作
- /**
- JavaBean测试类
- */
- public class ReflectPoint
- {
- //成员变量定义
- private int x;
- public int y;
- //构造函数初始化x,y
- ReflectPoint(int x,int y)
- {
- this.x = x;
- this.y = y;
- }
- /**
- x,y的setter和getter方法
- */
- public int getX()
- {
- return x;
- }
- public int getY()
- {
- return y;
- }
- public void setX(int x)
- {
- this.x = x;
- }
- public void setY(int y)
- {
- this.y = y;
- }
- }
/**JavaBean测试类*/public class ReflectPoint{//成员变量定义private int x;public int y;//构造函数初始化x,yReflectPoint(int x,int y){this.x = x;this.y = y;}/**x,y的setter和getter方法*/public int getX(){return x;}public int getY(){return y;}public void setX(int x){this.x = x;}public void setY(int y){this.y = y;}}
- import java.lang.reflect.*;
- import java.beans.*;
- /**
- 对JavaBean的简单内省操作
- */
- public class IntrospectorTest
- {
- public static void main(String[] args) throws Exception
- {
- //创建JavaBean类ReflectPoint的对象
- ReflectPoint pt1 = new ReflectPoint(3,5);
- /*通过JavaBean类实例对象成员x的属性值*/
- String propertyName = "x";
- Object reVal = getProperty(pt1,propertyName);
- System.out.println(reVal);
- /*修改JavaBean类的实例对象pt1的x变量的属性值*/
- int value = 7;
- setProperty(pt1,propertyName,value);
- System.out.println(pt1.getX());
- }
- /*
- 获取指定对象的属性值
- */
- private static Object getProperty(Object pt1,String propertyName)throws Exception
- {
- PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
- Method methodGetX =pd.getReadMethod();
- Object reVal = methodGetX.invoke(pt1);
- return reVal;
- }
- /*
- 设置指定对象的属性值
- */
- private static void setProperty(Object pt1,String propertyName,Object Value)throws Exception
- {
- PropertyDescriptor pd = new PropertyDescriptor(propertyName,pt1.getClass());
- Method methodSetX = pd.getWriteMethod();
- methodSetX.invoke(pt1,7);
- }
- }
- 黑马程序员__内省和JavaBean
- 黑马程序员-内省和JavaBean
- 黑马程序员---内省JavaBean
- 黑马程序员---JavaBean & 内省
- 黑马程序员--内省JavaBean
- 黑马程序员-内省,javabean
- 黑马程序员--JavaBean内省
- 黑马程序员_内省和JavaBean笔记
- 黑马程序员----JavaBean、内省 和 注释
- 黑马程序员------java高新技术、javaBean和内省
- 黑马程序员---javaBean & introspector(内省)
- 黑马程序员----内省,了解 javaBean
- 黑马程序员--JavaBean与内省
- 黑马程序员__枚举__反射__内省
- 黑马程序员--java中属性的包装 -内省和javaBean
- 黑马程序员——javabean、内省和BeanUtils
- 黑马程序员——JavaBean、内省 和 注释
- 黑马程序员_java高新javaBean内省
- 用mysqlslap进行mysql压力测试
- (转)JDK泛型中的问号(?)的用途 (泛型集合类的作为参数的时候的继承问题)
- 15 个必须知道的 Java 面试问题(2年工作经验)
- 黑马程序员_集合框架
- 用layer-list一次加载多个层次图片
- 黑马程序员__内省和JavaBean
- 解析XML文件时的乱码问题
- 黑马程序员__异常机制
- Leetcode 46/47 Permutations, Permutations II
- Xml解析之----Pull
- 我给媳妇解释设计模式:第一部分
- paip.c#.net 获取网站PR值
- 我是怎样教媳妇面向对象编程的
- WMI技术介绍和应用——查询时间信息