日期:2014-05-20  浏览次数:20719 次

代码疑问
存在一个JavaBean,它包含以下几种可能的属性:
       1:boolean/Boolean
       2:int/Integer
       3:String
       4:double/Double
     属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:
       String类型的默认值为字符串 www.itheima.com
       int/Integer类型的默认值为100
     boolean/Boolean类型的默认值为true
       double/Double的默认值为0.01D.
  只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现

这道题我建了两个类:
第一个类中写
package thirty;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public class Test8 {
            public static void main(final String[] args) {
                final XBean bean = new XBean();
                bean.addPropertyChangeListener(new PropertyChangeListener() {
                     
                    @Override
                    public void propertyChange(final PropertyChangeEvent evt) {
                        System.out.println(evt);
                    }
                });
                bean.setAmount(200);
                bean.setValidated(false);
                bean.setSite("bbs.csdn.net");
                bean.setPrice(10.11);
            }
        }
第二个类中写:
package thirty;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeSupport;
public final class XBean {
    private final PropertyChangeSupport pcs       = new PropertyChangeSupport(this);
    private String                      site      = "www.csdn.net";
    private boolean                     validated = true;
    private int                         amount    = 100;
    private double                      price     = 0.01;

    public XBean() {
    }

    public final String getSite() {
        return site;
    }

    public final void setSite(final String site) {
        pcs.firePropertyChange("site", getSite(), site);
        this.site = site;
    }

    public final boolean isValidated() {
        return validated;
    }

    public final void setValidated(final boolean validated) {
        pcs.firePropertyChange("validate", isValidated(), validated);
        this.validated = validated;
    }

    public final int getAmount() {
        return amount;
    }

    public final void setAmount(final int amount) {
        pcs.firePropertyChange("amount", getAmount(), amount);
        this.amount = amount;
    }

    public final double getPrice() {