在接口方法中返回子类

时间:2016-08-20 04:41:48

标签: java methods interface subclass return-type

我想创建一个链接列表项目,我在其中创建了一个接口和一个类

CLASS:

  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

INTERFACE:

public interface Node<T>
{
    public SUB_CLASS_RETURN_TYPE nextIs();
}         //all other methods are declared as needed

问题:问题是应该在SUB_CLASS_RETURN_TYPE中写什么来返回派生/子类的对象或引用

1 个答案:

答案 0 :(得分:2)

你可以做的是使用泛型

public interface Node<N extends Node<N>> {
    public N nextLs();
}

public class MainNode implements Node<MainNode> {
    @Override
    public MainNode nextls() {
        ...
    }
}