黑马程序员技术交流社区

标题: 求解...java bean的内容...这个class名字那里来的? [打印本页]

作者: 黄金龙    时间: 2013-2-3 15:27
标题: 求解...java bean的内容...这个class名字那里来的?
本帖最后由 张向辉 于 2013-2-5 12:26 编辑
  1. package cn.itcast.day1;

  2. import java.beans.BeanInfo;
  3. import java.beans.Introspector;
  4. import java.beans.PropertyDescriptor;
  5. import java.lang.reflect.Method;

  6. public class IntroSpectorDemo {

  7.         public static void main(String[] args) throws Exception
  8.         {
  9.                 ReflectPoint rp1 = new ReflectPoint();
  10.                
  11.                
  12.                 BeanInfo info = Introspector.getBeanInfo(rp1.getClass());
  13.                 PropertyDescriptor[] pds = info.getPropertyDescriptors();
  14.                 for(PropertyDescriptor pd : pds)
  15.                 {        
  16.                         String beanName = pd.getName();
  17.                         System.out.println(beanName);
  18.                         if(!(beanName.equals("class")))
  19.                                 getPropertyDescriptor(beanName, rp1);
  20.                 }
  21.         }

  22.         private static void getPropertyDescriptor(String x,ReflectPoint rp1) throws Exception
  23.         {
  24.                 PropertyDescriptor pd = new  PropertyDescriptor(x, rp1.getClass());
  25.                 Method mthGet = pd.getReadMethod();
  26.                 Method mthSet = pd.getWriteMethod();
  27.                 mthSet.invoke(rp1, 222);
  28.                 System.out.println(mthGet.invoke(rp1, null));
  29.         }

  30. }
复制代码
  1. package cn.itcast.day1;

  2. public class ReflectPoint
  3. {
  4.         private int x;
  5.         private int XX;
  6.         public int y;
  7.         
  8.         public int getX() {
  9.                 return x;
  10.         }

  11.         public int getXX() {
  12.                 return XX;
  13.         }

  14.         public void setXX(int xX) {
  15.                 XX = xX;
  16.         }

  17.         public void setX(int x) {
  18.                 this.x = x;
  19.         }

  20.         public int getY() {
  21.                 return y;
  22.         }

  23.         public void setY(int y) {
  24.                 this.y = y;
  25.         }


  26.         
  27.         
  28. }
复制代码

未命名.jpg (3.09 KB, 下载次数: 25)

未命名.jpg

作者: qq646742615    时间: 2013-2-3 16:57
从 Object 继承来了一个 pulic Class<?> getClass(){}方法 所以被看成是属性class 的getter方法 自然也就是属性了




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