Java 在接口方法中返回子类
我想做一个链表项目,在其中我创建了一个接口和一个类 类别:Java 在接口方法中返回子类,java,methods,interface,subclass,return-type,Java,Methods,Interface,Subclass,Return Type,我想做一个链表项目,在其中我创建了一个接口和一个类 类别: public class MainNode<T> implements Node<T> { public T data; public MainNode<T> next; public MainNode<T> nextIs() { return next; } }.
public class MainNode<T> implements Node<T>
{
public T data;
public MainNode<T> next;
public MainNode<T> nextIs()
{
return next;
}
}. //all other methods are defined and work fine
public类MainNode实现节点
{
公共数据;
公共主节点下一步;
公共主节点nextIs()
{
下一步返回;
}
}.//所有其他方法都已定义且工作正常
接口:
public interface Node<T>
{
public SUB_CLASS_RETURN_TYPE nextIs();
} //all other methods are declared as needed
公共接口节点
{
公共子类返回类型nextIs();
}//根据需要声明所有其他方法
问题:问题是应该用SUB_CLASS_RETURN_TYPE编写什么来返回派生/子类的对象或引用,您可以使用泛型
public interface Node<N extends Node<N>> {
public N nextLs();
}
public class MainNode implements Node<MainNode> {
@Override
public MainNode nextls() {
...
}
}
公共接口节点{
公共N nextLs();
}
公共类MainNode实现节点{
@凌驾
公共主节点nextls(){
...
}
}
提示:请学习如何正确格式化问题中的源代码。这会让我们更容易理解你的问题。谢谢你的回答。但在这样做时,另一个方法,例如:public T getdata()代码>不工作并显示编译错误。@SuhasSrivastava您还需要将t添加为泛型。