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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯晓骏 中级黑马   /  2013-12-6 18:37  /  600 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.beans.BeanInfo;
  2. import java.beans.IntrospectionException;
  3. import java.beans.Introspector;
  4. import java.beans.PropertyDescriptor;
  5. import java.lang.reflect.InvocationTargetException;
  6. import java.util.Date;

  7. import org.apache.commons.beanutils.BeanUtils;

  8. /**
  9. * @author Shawn
  10. *
  11. */
  12. class Heart{
  13.         private String left;
  14.         private String right;
  15.         public String getLeft() {
  16.                 return left;
  17.         }
  18.         public void setLeft(String left) {
  19.                 this.left = left;
  20.         }
  21.         public String getRight() {
  22.                 return right;
  23.         }
  24.         public void setRight(String right) {
  25.                 this.right = right;
  26.         }
  27.         
  28. }
  29. class Person{
  30.         private Heart heart;
  31.         private Date birthday;
  32.         public Date getBirthday() {
  33.                 return birthday;
  34.         }
  35.         public void setBirthday(Date birthday) {
  36.                 this.birthday = birthday;
  37.         }
  38.         public Heart getHeart() {
  39.                 return heart;
  40.         }
  41.         public void setHeart(Heart heart) {
  42.                 this.heart = heart;
  43.         }
  44. }
  45. public class BeanUtilsTest2 {

  46.         /**
  47.          * @param args
  48.          * @throws NoSuchMethodException
  49.          * @throws InvocationTargetException
  50.          * @throws IllegalAccessException
  51.          */
  52.         public static void main(String[] args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
  53.                 // TODO Auto-generated method stub
  54.                 Person p = new Person();
  55. System.out.println(BeanUtils.getProperty(p, "heart"));
  56.         }

  57. }
复制代码
这段代码的错误信息说heart没有对应的get和set方法,让我很纳闷,后来把Heart和Person类都单独放到一个java文件中,用public声明,就可以了,不管是heart还是heart.left这种级联操作,都可以,所以,是不是JavaBean的类需要用public修饰才可以?



评分

参与人数 1技术分 +1 收起 理由
贺奕凯 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马