Java 如何用泛型实现接口方法
所以基本上,我想将接口A应用于A类。但它给了我一个错误:Java 如何用泛型实现接口方法,java,generics,inheritance,interface,overriding,Java,Generics,Inheritance,Interface,Overriding,所以基本上,我想将接口A应用于A类。但它给了我一个错误:A-Class不是抽象的,并且不重写抽象方法setStar(Star) 我知道原因是A-class中的setStar()与接口A中的不完全一样。但我不知道如何使用泛型来修复它?有什么想法吗?非常感谢 我尝试的是: public interface A { public void setStar(Star star) } public class A-Class implements A { public void setStar(S
A-Class不是抽象的,并且不重写抽象方法setStar(Star)
我知道原因是A-class中的setStar()
与接口A中的不完全一样。但我不知道如何使用泛型来修复它?有什么想法吗?非常感谢
我尝试的是:
public interface A {
public void setStar(Star star)
}
public class A-Class implements A {
public void setStar(StarImpl star)
}
public interface Star {
}
public class StarImpl implements Star {
}
公共类A-class实现了{
public void setStar(public interface A{
公共空间卫星(T星)
}
经过一番尝试后,我自己解决了这个问题。基本上,这是给接口A添加泛型。谢谢,伙计们!更改A-Class的名称。您的详细信息有问题。错误应该是A-Class不是抽象的,并且是..
@Ravi感谢您的更正。@ElliottFrisch这是否意味着我需要将接口更改为supeClass?取决于您正在尝试做什么;请再次阅读该链接。它会告诉您何时需要扩展
、超级
或两者都不需要。您告诉我们它不起作用,而不是您希望它做什么。。。
public class A-Class implements A {
public void setStar(<? extends Star> star)
}
public class A-Class implements A {
public <T extends Star> void setStar(T star)
}
public interface A<T extends Star> {
public void setStar(T star)
}