就是
如果你这样调用
System.out.println(aObject);
他就会自动调用aObject的toString()方法.返回一个字符串
你的例子中你如果
System.out.println(new Product());
就会输出这个商品的名字

解决方案 »

  1.   

    重写toString()方法是个很好的习惯,可以快速输出我们想要的信息,在《Effective Java》中也被列进去了
      

  2.   

    就是
    如果你这样调用
    System.out.println(aObject);
    他就会自动调用aObject的toString()方法.返回一个字符串
    你的例子中你如果
    System.out.println(new Product());
    就会输出这个商品的名字
      

  3.   

    多谢各位高手帮忙package ylogin.ycart;
    import java.io.*;
    import java.math.*;
    import  ylogin.*;
    public class Item  extends Jdbcs implements Serializable{
    //属性
    private String yitemid;//一条订单编号
    private String yproductid;//商品编号
    private BigDecimal ypriceh;//商品价格
    private String yattribute1;
    private String yattribute2;
    private String yattribute3;
    private String yattribute4;
    private String yattribute5;
    private Product yproduct;
    private int yquantity;
    public String getyitemid(){
    return yitemid;
    }
    public void setyitemid(String eid){
    this.yitemid=eid.trim();
    }
    public int getyquantity(){
    return yquantity;
    }
    public void setyquantity(int nquantity){
    this.yquantity=nquantity;
    }public Product getyproduct(){
    return yproduct;
    }
    public void setyproduct(Product nproduct){
    this.yproduct=nproduct;
    }
    public String getyproductid(){return yproductid;
    }
    public void setyproductid(String eproductid){
    this.yproductid=eproductid;
    }
    public BigDecimal getypriceh(){
    return ypriceh;
    }
    public void setypriceh(BigDecimal npriceh){
    this.ypriceh=npriceh;
    }
    public String getyattribute1(){
    return yattribute1;
    }
    public void setyattribute1(String nattribute1){
    this.yattribute1=nattribute1;
    }
    public String getyattribute2(){
    return yattribute2;
    }
    public void setyattribute2(String nattribute2){
    this.yattribute2=nattribute2;
    }
    public String getyattribute3(){
    return yattribute3;
    }
    public void setyattribute3(String nattribute3){
    this.yattribute3=nattribute3;
    }
    public String getyattribute4(){
    return yattribute4;
    }
    public void setyattribute4(String nattribute4){
    this.yattribute4=nattribute4;
    }
    public String getyattribute5(){
    return yattribute5;
    }
    public void setyattribute5(String nattribute5){
    this.yattribute5=nattribute5;
    }
    //pubic methods
    public String toString(){
    return "("+getyitemid().trim()+"-"+getyproductid().trim()+")";
    }
    }在此我想问一下:
    return "("+getyitemid().trim()+"-"+getyproductid().trim()+")";
    这段代码有何作用
    请高手,再指导一下,多谢
      

  4.   

    return "("+getyitemid().trim()+"-"+getyproductid().trim()+")";
    这段代码有何作用请高手,再指导一下,多谢return 什么值
      

  5.   

    /*
    CarItem类是购物车中各个项目的信息,包括一个Item值对象、Item的数量、本类包含
    商品的总金额,它用一个私有方法CalculateTotal来计算CartItem中商品的总金额
    */
    package ylogin.ycart;
    import  java.io.*;
    import  java.math.*;
    import  ylogin.ycart.*;
    //代表了购物车中各条商品Item信息
    public class CartItem implements Serializable{
    //声明私有变量
    private Item item;//一个Item值对象
    private int quantity;//Item的数量
    private boolean inStock;//判断是否向购物车一个Item添加商品
    private float total;//购物车中一条item商品的总金额
    public void setInStock(boolean einStock){
    this.inStock=einStock;
    }
    public void setItem(Item nitem){
    this.item=nitem;
    sum();
    }
    public void setQuantity(int nquantity){
    this.quantity=nquantity;
    sum();
    }
    //计算一条Item的金额
    private void sum(){
    if(item!=null&& item.getPricey()!=null){
    total=item.getPricey().multiply(new BigDecimal(quantity));
    }else{
    total=null;
    }
    }
    //公共方法
    public void addQuantity(){
    quantity++;
    sum();
    }public boolean isInStock(){
    return inStock;
    }
    public Item getItem(){
    return item;//返回订单编号
    }
    public int getQuantity(){//Item的数量
    return quantity;
    }
    public float getTotal(){
    return total;
    }
    }-----
    代码
    total=item.getPricey().multiply(new BigDecimal(quantity));
    怎么用float类型代替BigDecimal,楼上大侠,那位高手给点建议,多谢
      

  6.   

    item.getPricey().multiply(new BigDecimal(quantity)).floatValue();问题解决,多谢又遇到问题:
    //计算购物车中商品的总金额
    public BigDecimal getSubTotal(){
    BigDecimal subTotal=new BigDecimal("0");
    //putAll(Map t)将已知的映射对象t中的所有健映射对放到本映射对象中
    Iterator items=getAllCartItems();
    while(items.hasNext()){
    ylogin.ycart.CartItem  cartItem=(ylogin.ycart.CartItem) items.next();
    Item item=cartItem.getItem();
    BigDecimal pricey=item.getPricey();
    BigDecimal quantity=new BigDecimal(String.valueOf(cartItem.getQuantity()));
    subTotal=subTotal.add(pricey.multiply(quantity));
    }
    return subTotal;
    }
    怎么把subTotal转换成float类型,请找到啦,再帮帮忙,多谢
      

  7.   


    floatValuepublic float floatValue()
    Converts this BigDecimal to a float. Similar to the double-to-float narrowing primitive conversion defined in The Java Language Specification: if this BigDecimal has too great a magnitude to represent as a float, it will be converted to Float.NEGATIVE_INFINITY or Float.POSITIVE_INFINITY as appropriate. Specified by:
    floatValue in class Number
    Returns:
    this BigDecimal converted to a float.