Надеясь, что кто-то сможет мне помочь или направить меня в правильном направлении.
У меня есть текстовый файл с количеством записей
CUST001, Джон Джонс, 555 0505, 19 сентября 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));
}
«пытается» создать объекты из суперкласса (Customer) и подкласса (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];