Java 我的对象值赢了';我不能保存。显示空值
我有三门课:Java 我的对象值赢了';我不能保存。显示空值,java,object,inheritance,arraylist,null,Java,Object,Inheritance,Arraylist,Null,我有三门课: 运动装(超类) 泽西岛(亚类) 司机 我的车手里有一个ArrayList,用来存放我所有的运动衫。 当用户输入所有值(库存、价格、产品、团队、套件、尺寸、性别)时, 它会将它们显示回来,它会显示空值: Product: null In stock: 0 Price: 0 Team: Kit: Size: Gender: 超类(运动装)具有变量库存、价格和产品(因此我可以包括其他产品,而不仅仅是运动衫) 子类(Jersey)包含变量team、kit、size、gender。它
Product: null
In stock: 0
Price: 0
Team:
Kit:
Size:
Gender:
超类(运动装)具有变量库存、价格和产品
(因此我可以包括其他产品,而不仅仅是运动衫)
子类(Jersey)包含变量team、kit、size、gender
。它还包含方法jerseyDisplay()
,用于显示上面的内容
输入值后,我在驱动程序中输入:
Jersey jersey = new Sportswear(stock, price, product, team, kit, size, gender);
sportswear.add(jersey);
jersey.jerseyDisplay();
这完全错了吗?为什么输入的值没有显示出来
子类Jersey
中的jerseyDisplay()
方法是:
public void jerseyDisplay()
{
super.sportswearDisplay();
System.out.println("Team: "+team);
System.out.println("Kit: "+kit);
System.out.println("Size: "+size);
System.out.println("Gender: "+gender);
}
@这是运动装超类:
public class Sportswear
{
//instance variables
private int stock;
private float price;
private String product;
//blank constructor
public Sportswear()
{
this.stock = 0;
this.price = 0;
this.product = "";
}
//detailed constructor
public Sportswear(int s, float p, String pd)
{
this.stock = stock;
this.price = price;
this.product = product;
}
//setters
public void setStock(int stock)
{
this.stock = stock;
}
public void setPrice(float price)
{
this.price = price;
}
public void setProduct(String product)
{
this.product = product;
}
//getters
public int getStock()
{
return stock;
}
public float getPrice()
{
return price;
}
public String getProduct()
{
return product;
}
//increase stock
public int increaseStock()
{
stock = stock++;
return stock;
}
//decrease stock
public int decreaseStock()
{
stock = stock - 1;
return stock;
}
public void sportswearDisplay()
{
System.out.println("Product: "+product);
System.out.println("In stock: "+stock);
System.out.println("Price: "+stock);
}
}
Jersey子类中的构造函数:
public Jersey(int stock, float price, String product, String team, String kit, String size, String gender)
{
super(stock, price, product);
this.team = "";
this.kit = "";
this.size = "";
this.gender = "";
}
问题在您的两个承包商内:
//detailed constructor
public Sportswear(int s, float p, String pd)
{
this.stock = stock;
this.price = price;
this.product = product;
}
及
您应该使用作为参数传递的值初始化变量。。。或者使用您的setXXX
方法。在构造函数中,它应该如下所示:
//detailed constructor
public Sportswear(int s, float p, String pd)
{
this.stock = s;
this.price = p;
this.product = pd;
}
另外,正如前面提到的,这一行
Jersey Jersey=新运动装(库存、价格、产品、团队、套件、尺寸、性别)代码>甚至不应该编译。。。你可能指的是新泽西(股票、价格、产品、团队、装备、尺码、性别)
为什么要生成(股票、价格、产品、团队、套件、大小、性别)
值,也请发布jerseyDisplay()
方法这将有助于显示实际执行显示的代码(jerseyDisplay方法)。请发布用于创建sportsware
的代码以及在数组中循环的代码。否则,几乎不可能告诉你出了什么问题。@Salah我需要为一个运动服装商店的库存软件保存库存、价格、产品、团队、工具包、尺寸、性别的值,用于管理库存和记录购买(作为一个项目,而不是实际的商店哈哈)jerseyDisplay()子类Jersey中的方法是:public void jerseyDisplay(){super.sportswearldisplay();System.out.println(“团队:+Team”);System.out.println(“Kit:+Kit”);System.out.println(“大小:+Size”);System.out.println(“性别:+Gender);}@destrivy我编辑了运动服超类inAwh耶!万分感谢!我的产品在8小时内到期,所以你是救世主。谢谢你,伙计。
//detailed constructor
public Sportswear(int s, float p, String pd)
{
this.stock = s;
this.price = p;
this.product = pd;
}