我必须强制转换的Java对象的子类,因为需要设置在子类中提供的方法,然后我要设置超类对象在列表中的指标。类型转换的子类在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]。 –
类型铸造不是这里的最佳做法。你可以做的是在子类中添加一个构造函数或setter,它可以从超类对象中初始化字段。然后,你可以做'MemAttrRow memAttrRow = new MemAttrRow(memRow)' –