黑马程序员技术交流社区

标题: JavaBean问题,求帮忙! [打印本页]

作者: 王钊    时间: 2013-2-26 14:25
标题: JavaBean问题,求帮忙!
本帖最后由 王钊 于 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??求高手帮个忙啊,详细点




作者: 李文龙    时间: 2013-2-26 14:31
因为每个类都从 Object类中继承了一个方法  getClass() ;javaBean的属性是根据get 和set方法计算的,所以会有这样的一个属性
作者: 王钊    时间: 2013-2-26 14:37
李文龙 发表于 2013-2-26 14:31
因为每个类都从 Object类中继承了一个方法  getClass() ;javaBean的属性是根据get 和set方法计算的,所以会 ...

你回答的太棒了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2