我的代码有这个问题。我用两个实例变量创建了一个 Employee 类:
private String name, department;
然后我创建了另一个名为 Tradesman 的类,它是 Employee 的扩展,但有一个额外的实例变量:
private String trade;
现在我所做的是我创建了一个print()
方法,它将: A) 在 Employee 类中,打印name和department。B)在 Employee 中使用相同的方法,将在 Tradesman 中创建(因此覆盖它),它将打印额外的一个元素,即trade。现在的问题是我创建了另一个名为Staff的类,它将包含一些元素类型的数组Object
,我必须实现一个hire()
方法、fire()
方法和一个put()
打印整个数组的方法。直到印刷的那一刻,一切都是凉爽而邪恶的。我正在为如何打印它而苦苦挣扎,因为我print()
为每个类都有方法,但它必须取决于类型......如果我将方法转换为Employee我将失去工匠类的贸易元素,例如:
void put(){
for (Object a:objArray){
((Employee)a).print();
}
}
这是错误的。因为如果我雇了一个商人,这个方法不会打印交易。如何处理这个问题?提前致谢!加油^^