2016-08-20 3 views
1

Я хочу сделать связанный список проект, в котором я создал интерфейс и классВозвращение подкласса в методе интерфейса

КЛАСС:

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 interface Node<T> 
{ 
    public SUB_CLASS_RETURN_TYPE nextIs(); 
}   //all other methods are declared as needed 

Проблема: проблема заключается в том, что должно быть записано в SUB_CLASS_RETURN_TYPE для возврата объекта или ссылки производного/подкласса

+1

Подсказка: пожалуйста, узнайте, как правильно форматировать исходный код в рамках вашего вопроса. Нам было бы намного легче понять ваш вопрос. – GhostCat

ответ

2

Что вы можете сделать, это использовать генераторы

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

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

Спасибо за ваш ответ. Но при этом другой метод, такой как: public T getdata(); 'не работает и не показывает ошибку компиляции. –

+0

@SuhasSrivastava вам нужно добавить T как общий. –

Смежные вопросы