Java泛型参数
我对这种情况有疑问:Java泛型参数,java,generics,Java,Generics,我对这种情况有疑问: public abstract class Commune<T> { public abstract <T> void putSettlement(T settlement); } public class UrbanCommune() extends Commune{ private Cities cities = new Cities(); @Override public void putSettleme
public abstract class Commune<T> {
public abstract <T> void putSettlement(T settlement);
}
public class UrbanCommune() extends Commune{
private Cities cities = new Cities();
@Override
public void putSettlement(City city) {
cities.put(City city);
}
}
公共抽象类公社{
公共结算(T结算);
}
public类UrbanCommune()扩展了Commune{
私人城市=新城市();
@凌驾
公共定居点(城市){
城市。put(城市);
}
}
我现在正在学习泛型,所以我不明白为什么它不起作用。。。
如何管理它?因为
T
被定义为整个类的泛型,所以您不必为方法也定义它:
public abstract class Commune<T> {
public abstract void putSettlement(T settlement);
}
您的方法
putcolution
定义了一个额外的类型参数T
,该参数与类定义中的参数不同。您的方法声明应该是公共抽象无效结算(T结算)因为它不是有效的Java代码。从Java编译器读取错误消息。当问问题时,不要只说“它不起作用”。准确地告诉你正在做什么,你期望发生什么,以及会发生什么。你应该使用IDE,比如Intellij(或eclipse),它会告诉你在java-class UrbanCommune()中类名无效后所犯的所有错误(),并查找术语“raw type”。谢谢,我会尝试一下。我无意中犯了错误。我也想从其他类的公社继承,在城市公社,我想有两种方法:城市-城市和村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-村庄-城市-村庄-村庄-村庄-村庄-村庄-村庄?@KamilBrodziak城市和村庄之间有联系吗?继承还是什么?不,它们是相似的,但没有联系。@KamilBrodziak 2类继承fom same,带有泛型,应该用来做相似的事情,但对于不同的对象,这里不是。因为你想要一个类有1个方法,而另一个有2个,你不能,你必须改变你的方法model@KamilBrodziak如果答案对你合适,考虑接受它,或者评论/编辑你的帖子,提供更多细节
public class UrbanCommune extends Commune<City>{
private Cities cities = new Cities();
@Override
public void putSettlement(City city) {
cities.put(City city);
}
}