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添加为泛型。