假设有一个我经常使用并且由方法返回的类。
CommonClass obj = getCommonObject();
现在我想扩展这个类,创建一些实用工具方法以避免重复。
public CommonClassPlus extends CommonClass {
public String dontRepeatYourself() {
// the reason I'm creating a subclass
}
}
当然,我想使用我改进后的类来实现上述方法,但是向下转换是不允许的。
CommonClassPlus obj = getCommonObject();
//Cannot cast to CommonClassPlus
如果我只能使用超类的实例对象,如何使用方法dontRepeatYourself()
呢?
CommonClass
和getCommonObject()
来自外部库,我无法改变它们。