在最近的项目中,我必须在相同的functions中编写很多class,它们的前几个参数类似,如下所示:

doA(string t, int x);
doB(string t, int x, object y);
....
doN(string t, int x, object... ns);


我们是否可以像function函数那样具有通用的doA()函数,以便任何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的私有方法,则可以通过反射更改其可访问性。

10-01 18:08