在最近的项目中,我必须使用相同的class
编写很多functions
,具有类似的前几个参数,如下所示:
doA(string t, int x);
doB(string t, int x, object y);
....
doN(string t, int x, object... ns);
我们是否可以有一个像doA()
函数这样的通用function
,以便任何extend doA
函数必须有 2 个参数string t, int x
? doB extends doA(object y)
而不是上面的doB()
?
是的,如果你做这样的事情:
class A{
// not accessible by child
private void doA(int a){
...
}
// accessible by child and B can be null
public void doA(int a, Long B){
doA(a);
}
}
class B extends A{
@override
public void doA(int a, Long b){
...
}
}
我希望我答对了你的问题。
如果您需要访问 A 的私有方法,您可以通过反射更改其可访问性。
不能扩展方法签名。在Java中,类和接口允许使用extends
;不为方法。要在多个方法之间共享公共参数,可以将它们更改为实例变量。
例如
class YourClass {
String t;
int x;
}