【发布时间】:2016-01-21 04:09:24
【问题描述】:
我有一个基类,其方法名为execute:
class A {
public execute(int a){}
}
我也有一个类B,它扩展了A,但是execute方法需要更多的参数:
目前,我的解决方案是使用可选参数:
class B extends A {
public execute(int a, Object... parameters){
long b = (long)parameters[0];
boolean c = (boolean)parameters[1];
....
}
}
这仍然很难看,因为我必须对参数进行强制转换。这种情况还有其他选择吗?
【问题讨论】:
-
您是否希望
execute()有固定数量的参数? -
参见 Vitalii Fedorenko 的 answer,其中列出了所有可能的选项。
-
@Atri :我不需要固定数量的参数,我想通过基类调用。例如:A a = MyFactory.getInstance(...) , a.execute(...)
标签: java oop overriding overloading