Java 使用不同的泛型实现接口?
是否可以为其通用参数的多个选择实现一个接口?例如,如果我有一个接口Java 使用不同的泛型实现接口?,java,Java,是否可以为其通用参数的多个选择实现一个接口?例如,如果我有一个接口 public interface MyInterface<T> { T doSomething(T); } 公共接口MyInterface{ T剂量测定法(T); } 然后是一个实现它的类,用于T的多项选择?比如说 public class MyClass implements MyInterface<SomeClass>, MyInterface<SomeOtherClass>
public interface MyInterface<T> {
T doSomething(T);
}
公共接口MyInterface{
T剂量测定法(T);
}
然后是一个实现它的类,用于T的多项选择?比如说
public class MyClass implements MyInterface<SomeClass>, MyInterface<SomeOtherClass> {
SomeClass doSomething(SomeClass T) {
//here the implementation
}
SomeOtherClass doSomething(SomeOtherClass T) {
//here the implementation
}
}
公共类MyClass实现MyInterface,MyInterface{
某类物质(某类T){
//这里是实现
}
另一类物质(另一类T){
//这里是实现
}
}
以上这些都不起作用,那么在Java中应该如何正确地实现这一点呢?我认为没有办法实现这一点,因为有很多很好的理由可以解释为什么它不起作用,但根据您的用例具体是什么,可能会有办法解决它。例如:
public class MyClass implements MyInterface<Object> {
Object doSomething(Object T) {
if (T instanceof SomeClass) {
doSomethingSomeClass((SomeClass)T);
} else if (T instanceof SomeOtherClass) {
doSomethingSomeOtherClass((SomeOtherClass)T) {
} else {
// handle other objects - return null? throw exception?
}
}
SomeClass doSomethingSomeClass(SomeClass T) {
//here the implementation
}
SomeOtherClass doSomethingSomeOtherClass(SomeOtherClass T) {
//here the implementation
}
}
公共类MyClass实现MyInterface{
对象剂量测量(对象T){
if(SomeClass的T实例){
doSomethingSomeClass((SomeClass)T);
}else if(其他类的T实例){
doSomethingSomeOtherClass((SomeOtherClass)T){
}否则{
//处理其他对象-返回null?引发异常?
}
}
SomeClass doSomethingSomeClass(SomeClass T){
//这里是实现
}
SomeOtherClass doSomethingSomeOtherClass(SomeOtherClass T){
//这里是实现
}
}
记住你可以使用