
java如何利用泛型返回子类型
publicclassBaseData<T>{publicBaseData<T>addData(Tcontent){returnthis;}}publicclassStr...
public class BaseData<T> {
public BaseData<T> addData(T content) {
return this;
}
}
public class StringData extends BaseData<String>{
}
如何让StringData.addData()返回StringData类而非BaseData类?
在BaseData中将返回的类型改为<? extends BaseData<T>>不能编译通过 展开
public BaseData<T> addData(T content) {
return this;
}
}
public class StringData extends BaseData<String>{
}
如何让StringData.addData()返回StringData类而非BaseData类?
在BaseData中将返回的类型改为<? extends BaseData<T>>不能编译通过 展开
1个回答
2017-11-29
展开全部
class BaseData<T> {
public BaseData<T> addData(T content) {
return this;
}
}
class StringData extends BaseData<String>{
public StringData addData(String content) {
return this;
}
}
class Test{
public static void main (String[] args) {
StringData sd=new StringData();
Object x=sd.addData("ss");
System.out.println(x instanceof StringData);
}
}
追问
有不重写的方法吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询