A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王钊 中级黑马   /  2013-2-26 14:25  /  1764 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王钊 于 2013-2-26 14:27 编辑


  1. <P>class MyJavaBean
  2. {
  3. private boolean flag;

  4. private int age;

  5. private String name;

  6. private double number;

  7. public boolean isFlag()
  8. {
  9. return flag;
  10. }

  11. public void setFlag(boolean flag)
  12. {
  13. this.flag = flag;
  14. }

  15. public int getAge()
  16. {
  17. return age;
  18. }

  19. public void setAge(int age)
  20. {
  21. this.age = age;
  22. }

  23. public String getName()
  24. {
  25. return name;
  26. }

  27. public void setName(String name)
  28. {
  29. this.name = name;
  30. }

  31. public double getNumber()
  32. {
  33. return number;
  34. }

  35. public void setNumber(double number)
  36. {
  37. this.number = number;
  38. }

  39. }

  40. public class Test
  41. {
  42. public static void main(String[] args) throws Exception
  43. {
  44.   MyJavaBean myJavaBean = new MyJavaBean();</P>
  45. <P>  BeanInfo beanInfo = Introspector.getBeanInfo(myJavaBean.getClass());</P>
  46. <P>  PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();</P>
  47. <P>  for (int i = 0; i < pds.length; i++)
  48.   {
  49.    System.out.println(pds[i].getName());
  50.   }
  51. /*输出:age
  52.   class
  53.   flag
  54.   name
  55.   number*/
  56. }
  57. }
  58. </P>
复制代码

我自己写了一个JavaBean,里面有四个属性,都生成了对应的setter和getter,
在主函数中我想用内省方式,获得他们的属性,把属性存入到PropertyDescriptor数组中,
打印他们的名字时,为什么会额外出来一个class??求高手帮个忙啊,详细点



评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9

查看全部评分

2 个回复

倒序浏览
因为每个类都从 Object类中继承了一个方法  getClass() ;javaBean的属性是根据get 和set方法计算的,所以会有这样的一个属性
回复 使用道具 举报
李文龙 发表于 2013-2-26 14:31
因为每个类都从 Object类中继承了一个方法  getClass() ;javaBean的属性是根据get 和set方法计算的,所以会 ...

你回答的太棒了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马