Мне нужно придумать объект java для подкласса, потому что нужно установить индикатор для метода, доступного в подклассе, тогда я собираюсь установить объект Super class в List.TypeCasting to SubClass в Java
Нужно ли делать что-либо между ними или индикатором, как установлено после того, как приведение типов будет отображаться, когда я получу объект из списка?
MemRow - это суперкласс, а MemAttrRow - это подкласс с новым свойством recstat; код ниже:
MemRow memRow;
List<MemRow> memRwList;//where the superclass will get added
// type cast to subclass memAttrRow and set the recstat
MemAttrRow memAttrRow = (MemAttrRow) memRow;
String ind= "A";
memAttrRow.setRecStat(ind);
//add superclass to the list
memRwList.addRow(memRow);
Я не могу сказать, что это предложение должно означать, но глядя на ваш код - нет, нет ничего особенного, что вам нужно делать. –
Ваш вопрос пока неясен. Кастинг не изменяет тот объект, о котором вы говорите, поэтому изменение, когда вы вызываете 'setRecStat', по-прежнему будет видно позже, если это то, что вы имеете в виду. Я предлагаю вам попробовать его и опубликовать [mcve], если у вас есть проблемы. –
Тип отливки не самая лучшая практика здесь. Вы можете добавить конструктор или сеттер в подкласс, который может инициализировать поля из объекта суперкласса. Тогда вы можете сделать «MemAttrRow memAttrRow = new MemAttrRow (memRow)» –