希望有人能夠幫助我,或指出我的方向正確。 我有許多條目從抽象和子類創建對象數組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