将输入文件读入抽象超类java

将输入文件读入抽象超类java,java,inheritance,polymorphism,abstract-class,superclass,Java,Inheritance,Polymorphism,Abstract Class,Superclass,这是我的项目,我必须在其中实现继承、多态性和io。 希望有人能帮助我。我有一个包含行李数据的文本文件 本地的;背包纽约;黑色45.00;5局部;背包瑞士的 马球灰色59.00;1局部;背包比尔·基思;蓝色50.00;2 进口;手提包帕迪尼;黄色的;120.00;3进口;手提包PDI;红色 170.00;2进口;手提包宝洁公司,;绿色200.00;1 我有一个带有构造函数、访问器和toString方法的抽象超类,它分别由itemType、bagType、brand、color、price和quan

这是我的项目,我必须在其中实现继承、多态性和io。
希望有人能帮助我。我有一个包含行李数据的文本文件

本地的;背包纽约;黑色45.00;5
局部;背包瑞士的 马球灰色59.00;1
局部;背包比尔·基思;蓝色50.00;2
进口;手提包帕迪尼;黄色的;120.00;3
进口;手提包PDI;红色 170.00;2
进口;手提包宝洁公司,;绿色200.00;1

我有一个带有构造函数、访问器和toString方法的抽象超类,它分别由itemType、bagType、brand、color、price和quantity根据数据组成

我还有两个子类,Import和Local,它们是从超类包扩展而来的,继承了来自超类的相同属性

我无法将数据读入抽象超类数组,因为它会说抽象类无法实例化。是的,我知道。那么我应该怎么做才能将数据读入数组呢

这是我的抽象超类

公共抽象类包
{
私有字符串类型;
私人弦色;
自有品牌;
私人整数数量;
私人双价;
//默认构造函数
公文包()
{
bagType=“”;
颜色=”;
品牌=”;
数量=0;
价格=0.00;
}
//正规构造器
公共包(袋型、品牌、颜色、双倍价格、整数数量)
{
this.bagType=bagType;
这个品牌=品牌;
这个颜色=颜色;
这个价格=价格;
这个。数量=数量;
}
//存取器方法
公共字符串getColor()
{
返色;
}
公共字符串getBrand()
{
回归品牌;
}
公共整数getQuantity()
{
退货数量;
}
公开双价
{
退货价格;
}
//变异子法
公共void setBagType(字符串bt)
{
bagType=bt;
}
公共颜色(字符串c)
{
颜色=c;
}
公共void setBrand(字符串b)
{
品牌=b;
}
公共无效设置数量(整数q)
{
数量=q;
}
公共无效设定价格(双p)
{
价格=p;
}
//抽象方法
公开摘要双重计算();
//toString方法
公共字符串toString()
{
返回
“\n行李类型:”+bagType+
“\n项目颜色:”+颜色+
“\nItem品牌:”+品牌+
“\n项目数量:”+数量+
“\n价格:”+价格;
}

}
如果您的
包是抽象的,则无法调用
新包()

您需要检查bagType并根据它创建一个类

if(type.equals("import")){
   b[index] = new ImportBag (type, bagType, brand, colour, price, quantity);
} else {
   b[index] = new LocalBag (type, bagType, brand, colour, price, quantity);
}

Arraylist可能比数组更有用。

首先,请阅读此处的抽象类:,而且我在您的代码中没有看到任何承包商。。。你必须自己创建吗?

我在你发布的代码中看不到抽象类。抽象类在类包中,它是超类,这是我测试代码的类测试包。对不起,我的水晶球坏了,因此,除非你出示,否则我看不到你的
类。我已经更新了我的
类。在你的拼写错误和你对@OP拥有/想要什么的假设之间,这是一个不符合标准的回答。我为拼写错误感到抱歉。英语不是我的母语,我用智能手机写的。你能告诉我如何改进我的答案吗?我已经为子类创建了数组,但是当我尝试编译时,这会出现
输入字符串:“5”
抽象类在类包中,它是超类,这是我测试代码的类测试包。所有构造函数也都在超类包和子类导入本地上。