尽管子类中也有相同的方法,但如何从父类停止子类对象的调用方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尽管子类中也有相同的方法,但如何从父类停止子类对象的调用方法相关的知识,希望对你有一定的参考价值。
我有一个类型为ElectronicProduct的对象,该对象扩展了Product,我尝试从子类中调用loadFromFile()方法,并提供确切的名称和参数类型,但子类对象却从父类中调用loadFromFile()类。如何停止呢?
代码如下:
ElectronicProduct eProduct = new ElectronicProduct();
eProduct.loadFromFile(eProduct,bin);
但是它调用下面父类中的方法:
public Product loadFromFile(Product aProduct, BufferedReader bin) throws IOException, ParseException{
//some code
}
代替下面显示的子类:
public ElectronicProduct loadFromFile(Product aProduct, BufferedReader bin) throws IOException, ParseException{
// Some code
}
我确实尝试在子类方法中使用@Override,但是因为一个返回产品,而另一个返回electronicProduct,所以覆盖似乎不起作用。任何帮助将不胜感激。
编辑
这很奇怪,因为它现在可以按照我的要求开始工作,而无需进行任何更改。在给出错误警告之前,发生了不同的情况,但发生了类似的事情,我删除了代码并编写了完全相同的事情,然后它起作用了。我不希望这是随机发生的,因为这是分级作业。不想超出主题,但必须相关。请告知是否有人知道发生了什么事?
方法:
public Product loadFromFile(Product aProduct, BufferedReader bin) throws IOException, ParseException{
与...相同
public ElectronicProduct loadFromFile(Product aProduct, BufferedReader bin) throws IOException, ParseException{
因为返回类型(ElectronicProduct)是Product的子类,所以使用多态性不是方法签名的一部分。
public ElectronicProduct loadFromFile(ElectronicProduct aProduct, BufferedReader bin) throws IOException, ParseException{
以上是关于尽管子类中也有相同的方法,但如何从父类停止子类对象的调用方法的主要内容,如果未能解决你的问题,请参考以下文章