首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请用java代码兑现JavaBean

2012-12-24 
请用java代码实现JavaBean存在一个JavaBean,它包含以下几种可能的属性:1:boolean/Boolean2:int/Integer3:S

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



[最优解释]
懒的写toString了。

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() {
        return price;
    }
    
    public final void setPrice(final double price) {
        pcs.firePropertyChange("price", getPrice(), price);
        this.price = price;
    }
    
    public void addPropertyChangeListener(final PropertyChangeListener l) {
        pcs.addPropertyChangeListener(l);
    }
    
    public void removePropertyChangeListener(final PropertyChangeListener l) {
        pcs.removePropertyChangeListener(l);
    }
    
    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);
    }
}


[其他解释]
不是有个类可以动态生成java代码并动态编译的吗,具体叫什么我忘记了,可以去查查api
[其他解释]
定义每个变量,再添加set/get方法即可(可以用ide的右键添加)。

热点排行