与params的接口

Len*_*Bru 0 java interface

我在3个不同的类中使用相同的接口,

但是,这三个类需要有不同的参数来处理,并且所有参数都必须命名

例如我有这个界面

public interface ITest<T>{

 public T test1();
 public T test2();
 public T test3();
}
Run Code Online (Sandbox Code Playgroud)

我有3个班级

A,B,C实现具有不同T类型参数的所有ITest

但是,我需要一个类来拥有这个方法:

test1(String a, String b);
Run Code Online (Sandbox Code Playgroud)

B级有这个方法:

test1();
Run Code Online (Sandbox Code Playgroud)

C类有这个方法:

test1(boolean b);
Run Code Online (Sandbox Code Playgroud)

这可能使用相同的界面吗?或者我需要3个不同的接口用于这些类?

注意:我可以像这样编写我的界面:(假设括号中的所有类型都相同)

public interface ITest<T,S>{
 public T test1(S...params);
 public T test2();
 public T test3();

}
Run Code Online (Sandbox Code Playgroud)

然而,这意味着1:所有参数必须相同,2在不需要任何参数的方法中,仍有参数

pet*_*rov 5

您示例中的3个方法test1是完全不同的方法,因为它们不共享同一组参数.

相同的接口意味着一组由几个类共享的方法(在您的示例中为A,B,C).所以这里你的3个类中没有相同的接口(因为它们的test1方法不同).你有3个不同的接口.

好吧,如果您的3个类共享相同的test2和test3方法(但不是test1方法),那么只需将test1方法从您的接口中取出即可.