有没有办法编写以对具有相似参数的许多函数进行分组



在最近的项目中,我必须使用相同的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 xdoB 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;
}

最新更新