希望有人能够帮助我,或指出我的方向正确。 我有许多条目从抽象和子类创建对象数组java
CUST001,约翰·琼斯,555 0505的一个文本文件,19/09/1981
CUST002,PeterParker,555 1234,0.2
CUST003,迈克尔·迈克尔斯,555 4321, 19/09/1981
等
我有构造器和访问器共享的属性和子类的抽象超类。 然后我有另一个类,也有构造函数和访问器。
我在每行中读取,并将其拆分到“,”并将其读取到一个临时数组中。然后,我创建我的空数组,以从我的超类和构造函数中读入属性,创建各种对象。
问题我碰到: 常规类与构造函数 - 这项工作熟练。我将他们创建完成后的对象打印出来,在那里。
虽然我的子类,它只返回值null,null,null 因此,我认为我的超类和子类有一个问题。
使用具体类的构造函数创建对象:
Product[] prod = new Product[20]; BufferedReader inFile = new BufferedReader (new FileReader("product.txt")); String inputLine = inFile.readLine(); for (int i = 0; i < 6 ; i++) { String[] tmpProd = inFile.readLine().split(","); prod[i] = new Product(tmpProd[0], tmpProd[1], tmpProd[2], Float.parseFloat(tmpProd[3]), tmpProd[4].charAt(0)); }
“试图” 从父(客户)和子类(STCustomer)创建对象:
Customer[] stdCust= new STCustomer[20]; BufferedReader inFileCust = new BufferedReader (new FileReader ("customer.txt")); String inputCust = inFileCust.readLine(); for (int i = 0; i < 6; i++) { String[] tmpCust = inFileCust.readLine().split(","); GregorianCalendar d = new GregorianCalendar(year, month -1, date); stdCust[i] = new STCustomer( tmpCust[0], tmpCust[1], Long.parseLong(tmpCust[2]), d);//the block to convert date works - omitted here }
这是创建对象的正确方法吗?
Customer[] stdCust= new STCustomer[20];
你可以重命名所有在你的问题中的“常规类”的措辞,要么说“子类”或“超类”我不知道常规类是什么。在某些部分,它听起来像是指超级类别,而在另一些部分,它听起来像是指的是子类别。 –
嗨乔治,道歉的混乱。我有两个我创建的课程。一个是具体类,另一个是具有子类的抽象类。我正尝试使用子类从文本文件创建对象。对具体类(产品)做同样的事情,可以让我用txt文件中的值成功创建对象。这就是我所坚持的。看来我失去了一些明显的东西,因为我没有看到其他人遇到这些困难。 – user1031551