2015-10-04 1 views
0

Я довольно новичок в Java, и мне нужно создать связанный список. Мне сказали, что мне нужно создать класс под названием «Node» для хранения каждого элемента. Я написал класс:Связанный список Внутренний класс

public class Node() 
{ 
    public T data; 
    public Node next; 

    public Node(T data, Node next) 
    { 
     this.data = data; 
     this.next = next; 
    } 

    public Node getNext() 
    { 
     return next; 
    } 
    public T getData() 
    { 
     return data; 
    } 
} 

Однако я не позволил сделать отдельный класс, он должен быть в пределах класса LinkedList. Я понимаю, как сделать внутренний класс чего-то вроде импортированного итератора, но «Node» не импортируется. Как мне это сделать?

+0

сделать класс LinkedList общедоступным, но поместить в него класс Node (не общедоступный). – ergonaut

+0

То, что я сделал, но это дает мне ошибку «Синтаксис при ошибке на токене« класс », @ ожидается. –

+0

Но это именно тот код, который вам нужно поставить выше, иначе вы просите нас сделать домашнее задание. – ergonaut

ответ

0
public class Linked{ 
    class Node{ 
     int value; 
     Node next; 
     Node(int data,Node next){ 
      value=data; 
      this.next=next; 
     } 
     Node getNext(){ 
     return next;} 
     } 

//Rest of the linked list methods 
} 

Это называется внутренним классом, который представляет собой не что иное, как класс, вложенный внутри другого класса. Когда мы знаем, что класс не существует вне основного класса, мы вставляем этот класс внутри основного класса, так как мы знаем, что этот класс узла нельзя использовать вне любой точки программы, поэтому мы сделали этот класс внутренним классом.